Heim >Backend-Entwicklung >XML/RSS-Tutorial >Beispiele für XML-Parsing und -Erstellung
XML wird zum Übertragen und Speichern von Daten verwendet. Wie wird der erhaltene XML-Text analysiert? In diesem Artikel geht es um das Parsen und Erstellen von XML-Text. Interessierte Freunde können vorbeikommen und mehr darüber erfahren.
1. XML analysieren
Datei demo.xml erstellen:
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book book_id="1"> <title>php</title> <author>php入门到放弃</author> </book> <book book_id="2"> <title>java</title> <author>java入门到放弃</author> </book> <book book_id="3"> <title>C</title> <author>C入门到放弃</author> </book></bookstore>
Verwenden Sie PHP, um den Inhalt in demo.xml zu analysieren, nehmen Sie den PHP-Textknoten als Beispiel:
<?php /*思路:1.先载入xml文档 2.获取节点列表对象 3.获取子节点对象 4.获取子节点列表对象 5.获取文本对象 如果层级比较深就是循环2-4步,先拿列表对象,再拿子节点对象...*/ $dom = new DOMDocument('1.0','UTF-8'); //print_r($dom); //DOMDocument Object $dom->load('demo.xml'); //载入要解析的xml文档 $titleList = $dom->getElementsByTagName('title'); ////DOMNodeList Object ( [length] => 3 ) 获取节点列表对象 $title = $titleList->item(0); //DOMElement Object 获取子节点对象 $title = $title->childNodes; //DOMNodeList Object ( [length] => 1 )获取子节点列表对象 $title = $title->item(0); //DOMText Object 获取到文本对象 $text = $title->wholeText; //获取到文本内容 echo $text; //php echo '<br>'; //也可以直接写成连贯操作: $text = $dom->getElementsByTagName('title')->item(0)->childNodes->item(0)->wholeText; echo $text; //php echo '<br>'; //第二种方法: $text = $dom->getElementsByTagName('title')->item(0)->nodeValue; //获取到文本内容 echo $text; //php
Zusätzlich zum Parsen können Sie auch XML-Knoten löschen und ersetzen:
$dom = new DOMDocument('1.0','UTF-8'); $dom->load('demo.xml'); //载入要解析的xml文档 /** *xml删除节点 * */ $php = $dom->getElementsByTagName('book')->item(0); //获取文本节点 $php->parentNode->removeChild($php); //获取文本节点的父节点,然后站在父节点的立场删除子文本节点 /** * xml替换节点 * */ $java = $dom->getElementsByTagName('title')->item(0); //获取要替换的文本节点 $newnode = $dom->createTextNode('python'); //创建新的文本节点 $java->replaceChild($newnode,$java->firstChild); //用新节点替换旧文本节点内容 header("content-type:text/xml"); echo $dom->saveXML(); //直接输出xml文本
2. XML erstellen
Verwenden Sie PHP, um eine XML-Datei wie folgt zu erstellen:
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book book_id="1"> <title>php</title> <author><![CDATA[PHP是世界上最好的编程语言.emmm...]]></author> </book></bookstore>
PHP-Code:
<?php $dom = new DOMDocument('1.0','UTF-8'); $text = $dom->createTextNode('php'); //创建文本节点 $title = $dom->createElement('title'); //创建普通节点 $title->appendChild($text); //将文本节点作为子节点添加到普通节点内 $cdata = $dom->createCDATASection('PHP是世界上最好的编程语言.emmm...'); //创建CDATA节点 $author = $dom->createElement('author'); //创建普通节点 $author->appendChild($cdata); //将CDATA节点作为子节点添加到普通节点内 $book = $dom->createElement('book'); //创建普通节点 //将上面创建的两个普通节点作为子节点添加到普通节点内 $book->appendChild($title); $book->appendChild($author); $book_id = $dom->createAttribute('book_id'); //创建属性名 $book_id->value = '1'; //创建属性值 $book->appendChild($book_id); //将属性加到普通节点内 $bookstore = $dom->createElement('bookstore'); //创建普通节点 $bookstore->appendChild($book); //将普通节点作为子节点添加到普通节点内 $dom->appendChild($bookstore); //将普通节点添加到文档内 // header("content-type:text/xml"); // echo $dom->saveXML(); //直接输出xml文本 echo $dom->save('demo.xml'); //生成xml文件
Die Browserausgabe lautet wie folgt:
Verwandte Tutorials: XML-Video-Tutorial
Das obige ist der detaillierte Inhalt vonBeispiele für XML-Parsing und -Erstellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!