DOMDocument是PHP的一個類庫,是XML解析器和節(jié)點處理器,可以讀取 XML 文檔并以對象的形式返回,然后可以對這些對象做任何操作。下面將詳細介紹DOMDocument的使用。
在我們開始使用DOMDocument之前,我們需要指定要解析的XML文件名:
$file = 'example.xml'; $xml = new DOMDocument(); $xml->load($file);
一旦我們載入了XML文件,我們就可以對它進行許多不同的操作,例如查找元素:
$elements = $xml->getElementsByTagName("book"); echo "
- ";
foreach ($elements as $element) {
$title = $element->getElementsByTagName("title")->item(0)->nodeValue;
$author = $element->getElementsByTagName("author")->item(0)->nodeValue;
$genre = $element->getElementsByTagName("genre")->item(0)->nodeValue;
$price = $element->getElementsByTagName("price")->item(0)->nodeValue;
echo "
- $title$author $genre ($price) "; } echo "
在上面的例子中,我們查找XML文件中所有的book元素,并輸出其title、author、genre和price節(jié)點的值。
還可以使用DOMDocument創(chuàng)建XML文檔:
$xml = new DOMDocument("1.0"); $xml->formatOutput = true; $root = $xml->createElement("bookstore"); $xml->appendChild($root); $book = $xml->createElement("book"); $root->appendChild($book); $title = $xml->createElement("title"); $title->nodeValue = "Harry Potter"; $book->appendChild($title); $author = $xml->createElement("author"); $author->nodeValue = "J.K. Rowling"; $book->appendChild($author); $genre = $xml->createElement("genre"); $genre->nodeValue = "Fantasy"; $book->appendChild($genre); $price = $xml->createElement("price"); $price->nodeValue = "29.99"; $book->appendChild($price); $xml->save("example.xml");
在上面的例子中,我們創(chuàng)建了一個根元素為bookstore的XML文檔,并創(chuàng)建一個book節(jié)點,該節(jié)點包含title、author、genre和price四個子節(jié)點。
最后,還可以修改XML文檔:
$xml = new DOMDocument(); $xml->load('example.xml'); $books = $xml->getElementsByTagName("book"); foreach ($books as $book) { $title = $book->getElementsByTagName("title")->item(0); $newTitle = $xml->createElement("newTitle"); $newTitle->nodeValue = $title->nodeValue; $book->replaceChild($newTitle, $title); } $xml->save('example.xml');
在上面的例子中,我們讀取了XML文檔,并將其中的title節(jié)點改為newTitle節(jié)點。
總之,DOMDocument是一個非常有用的PHP類庫,可以方便地讀取、創(chuàng)建和修改XML文檔,為我們的開發(fā)工作帶來了很多的便利。希望這篇文章對您有所幫助。
上一篇dom php
下一篇python的cmd形式