Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung, wie PHP DOM und SimplexML zum Lesen von XML-Dokumenten verwendet

Detaillierte Erklärung, wie PHP DOM und SimplexML zum Lesen von XML-Dokumenten verwendet

墨辰丷
墨辰丷Original
2018-05-25 17:13:061515Durchsuche

Dieser Artikel stellt hauptsächlich die Methode vor, mit der PHP DOM und Simplexml zum Lesen von XML-Dokumenten verwendet. Er analysiert die zugehörigen Betriebsfähigkeiten von PHP zum Erstellen, Laden und Lesen von XML-Dateien in Form von Beispielen Sie können sich auf Folgendes beziehen:

Das Beispiel in diesem Artikel beschreibt, wie PHP DOM und Simplexml zum Lesen von XML-Dokumenten verwendet. Teilen Sie es wie folgt mit allen als Referenz:

Beispiel Verwenden Sie DOM, um die Titel aller Jin Yong-Romane im folgenden XML-Dokument abzurufen. Der Speicherort des XML-Dokuments ist ./books.xml:

<?xml version="1.0" encoding="utf-8"?>
<root>
 <book>
  <title>天龙八部</title>
  <author>金庸</author>
 </book>
 <book>
  <title>陆小凤</title>
  <author>古龙</author>
 </book>
 <book>
  <title>倚天屠龙记</title>
  <author>金庸</author>
 </book>
 <book>
  <title>西游记</title>
  <author>吴承恩</author>
 </book>
 <book>
  <title>神雕侠侣</title>
  <author>金庸</author>
 </book>
 <book>
  <title>射雕英雄传</title>
  <author>金庸</author>
 </book>
</root>

Verwenden Sie DOM-Code zur Implementierung:

Schritte zum Lesen von XML-Dokumenten im DOM: 1. Erstellen Sie ein DOM-Objekt——》2 . DOM-Dokumentinhalt laden——》3. Fangen Sie das Tag ab, an dem sich der zu lesende Inhalt befindet——》Den zu lesenden Inhalt abrufen.

header(&#39;Content-type:text/html;charset=utf-8&#39;);
$arr=array();
$dom = new DOMDocument();//创建DOM对象
$dom->load(&#39;./books.xml&#39;);//载入xml文档
print_r($dom);
echo &#39;<hr>&#39;;
$dom = $dom->getElementsByTagName(&#39;book&#39;);//截取标签
for($i=0;$i<$dom->length;$i++){
 if($dom->item($i)->childNodes->item(1)->childNodes->item(0)->wholeText==&#39;金庸&#39;){
  $arr[] = $dom->item($i)->childNodes->item(0)->childNodes->item(0)->wholeText.&#39;<br />&#39;;//获取内容
 }
}
print_r($arr);

Was nach der Verwendung von getElementsByTagName und childNodes zurückgegeben wird, sind Objekte, daher müssen sie anschließend item(int) verwenden, auch wenn die von ihnen zurückgegebenen Objekte nur ein Element enthalten , muss auch mit item(0) angegeben werden, sonst kommt es zu einem Fehler.

Verwenden Sie Simplexml-Code zur Implementierung:

$simxml = simplexml_load_file(&#39;./books.xml&#39;);
$t = $simxml->book;
$arr=array();
foreach ($t as $v){
 if($v->author==&#39;金庸&#39;){
  $arr[] = (string)$v->title;
 }
}
print_r($arr);

Nach der Verwendung von simplexml_load_file wird ein Objekt zurückgegeben und die darin enthaltenen Elemente Das Objekt besteht aus Objekten und Arrays. Unabhängig davon, ob es sich um ein Objekt oder ein Array handelt, können Sie foreach verwenden, um den Inhalt zu durchlaufen. Der letzte von dieser Instanz erhaltene Inhalt, $v->title, ist tatsächlich ein Objekt und muss daher mithilfe von string in eine Zeichenfolge konvertiert werden.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

PHP implementiert die Methode zum Generieren und Parsen von XML basierend auf SimpleXML

Einführung in die Verwendung von SimpleXML für das Parsen und Generieren von PHP-XML

Detaillierte Erläuterung der Verwendung der PHP-SimpleXML()-Funktion

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie PHP DOM und SimplexML zum Lesen von XML-Dokumenten verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn