Zusammenfassung gängiger Methoden zum Lesen von XML in php_php-Tipps

墨辰丷
Freigeben: 2023-03-27 17:16:02
Original
1441 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die gängigen Methoden zum Lesen von XML in PHP vorgestellt und die zugehörigen Betriebsfähigkeiten von PHP beim Lesen von XML-Dateien basierend auf DOMDocument, SimplexML, Regular und XMLReader in Form von Beispielen zusammengefasst

XML-Quelldatei

<?xml version="1.0 encoding="UTF-8"?>
<humans>
   <zhangying>
     <name>张映</name>
     <sex>男</sex>
     <old>28</old>
   </zhangying>
   <tank>
     <name>tank</name>
     <sex>男</sex>
     <old>28</old>
   </tank>
</humans>
Nach dem Login kopieren

1)DOMDocumentXML lesen

<?php
   $doc = new DOMDocument();
   $doc->load(&#39;person.xml&#39;); //读取xml文件
   $humans = $doc->getElementsByTagName( "humans" ); //取得humans标签的对象数组
   foreach( $humans as $human )
   {
     $names = $human->getElementsByTagName( "name" ); //取得name的标签的对象数组
     $name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name>
     $sexs = $human->getElementsByTagName( "sex" );
     $sex = $sexs->item(0)->nodeValue;
     $olds = $human->getElementsByTagName( "old" );
     $old = $olds->item(0)->nodeValue;
     echo "$name - $sex - $old\n";
   }
?>
Nach dem Login kopieren

2)simplexmlread xml

<?php
   $xml_array=simplexml_load_file(&#39;person.xml&#39;); //将XML中的数据,读取到数组对象中
   foreach($xml_array as $tmp){
     echo $tmp->name."-".$tmp->sex."-".$tmp->old."<br>";
   }
?>
Nach dem Login kopieren

3) PHPregulären Ausdruck verwenden Zum Lesen von Daten

<?php
   $xml = "";
   $f = fopen(&#39;person.xml&#39;, &#39;r&#39;);
   while( $data = fread( $f, 4096 ) ) {
     $xml .= $data;
   }
   fclose( $f );
   // 上面读取数据
   preg_match_all( "/\<humans\>(.*?)\<\/humans\>/s", $xml, $humans ); //匹配最外层标签里面的内容
   foreach( $humans[1] as $k=>$human )
   {
     preg_match_all( "/\<name\>(.*?)\<\/name\>/", $human, $name ); //匹配出名字
     preg_match_all( "/\<sex\>(.*?)\<\/sex\>/", $human, $sex ); //匹配出性别
     preg_match_all( "/\<old\>(.*?)\<\/old\>/", $human, $old ); //匹配出年龄
   }
   foreach($name[1] as $key=>$val){
     echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."<br>" ;
   }
?>
Nach dem Login kopieren

4)xmlreaderZum Lesen von XML-Daten

<?php
   $reader = new XMLReader();
   $reader->open(&#39;person.xml&#39;); //读取xml数据
   $i=1;
   while ($reader->read()) { //是否读取
     if ($reader->nodeType == XMLReader::TEXT) { //判断node类型
       if($i%3) {
         echo $reader->value; //取得node的值
       } else {
         echo $reader->value."<br>" ;
       }
       $i++;
     }
   }
?>
Nach dem Login kopieren

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


Verwandte Empfehlungen:

PHPImplementierung einer vollständigen Instanz der Model-Basisklasse basierend auf mysqli_php-Tipps

PHPDetaillierte Erläuterung der Datei-Upload-Klassenbeispiele_php-Fähigkeiten

PHPSicher Datei herunterladen method_php skills

Das obige ist der detaillierte Inhalt vonZusammenfassung gängiger Methoden zum Lesen von XML in php_php-Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!