>  기사  >  백엔드 개발  >  PHP에서 XML을 읽는 네 가지 방법의 자세한 예

PHP에서 XML을 읽는 네 가지 방법의 자세한 예

PHPz
PHPz원래의
2017-05-01 14:21:501511검색

이 글에서는 주로 PHP에서 XML을 읽는 일반적인 방법을 소개하고, DOMDocument, simplexml, Regular, xmlreader 기반의 XML 파일을 읽는 데 있어서 PHP의 관련 조작 기술을 예제 형식으로 정리하여 도움이 필요한 친구들이 참고할 수 있습니다.

이 기사의 예에서는 PHP에서 XML을 읽는 일반적인 방법을 설명합니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다:

xml 소스 파일

<?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 읽기

<?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) simplexmlxml 읽기

<?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) php정규 표현식을 사용하여 데이터 읽기

<?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)xmlreader를 사용하여 xml 읽기 데이터

아아아

위 내용은 PHP에서 XML을 읽는 네 가지 방법의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.