Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung gängiger Methoden zum Lesen von XML in php_php-Tipps

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

墨辰丷
墨辰丷Original
2018-05-23 15:03:081507Durchsuche

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>

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";
   }
?>

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>";
   }
?>

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>" ;
   }
?>

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++;
     }
   }
?>

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!

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