首頁 >後端開發 >php教程 >PHP xml解析與生成之SimpleXML使用介紹

PHP xml解析與生成之SimpleXML使用介紹

巴扎黑
巴扎黑原創
2017-08-14 10:46:401975瀏覽

xml就不多解釋了,php也提供了操作xml的方法,php操作xml可以有多種方式如domdocment,simplexml,xmlwriter等其中最簡單的應該是simplexml了,這次就來說說simplexml怎麼讀取和解析xml檔案或字串

1. 產生xml字串和檔案


<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=new SimpleXMLElement(&#39;<?xml version="1.0" encoding="utf-8"?><UsersInfo />&#39;);
 $item=$xml->addchild("item");
 $item->addchild("name","冯绍峰");
 $item->addchild("age","30");
 $item2=$xml->addchild("item");
 $item2->addchild("name","潘玮柏");
 $item2->addchild("age","29");
 $item2->addAttribute("id","02");
 header("Content-type: text/xml");
 echo $xml->asXml();
 $xml->asXml("student.xml");
?>

產生xml最重要的就是addchild,addAttribute,asXml三個方法,如果只是單純產生xml檔的話那個header可以不要,下面是瀏覽器的顯示結果

 

#是不是很簡單呢

2.simplexml解析xml檔或字串


<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=simplexml_load_file("UserInfo.xml");
 //通过children取得根节点下面的子项
 for($i=0;$i<count($xml->children());$i++){
   foreach ($xml->children()[$i] as $key => $value ) {
    echo "$key:$value"."<br/>";
   }
 }
?>

上面的方法適合解析xml文件,如果是xml字串就把simplexml_load_file改為simplexml_load_string就可以了,children用於取得根節點或子節點,取得的節點是一個陣列直接遍歷必要的時候加上過濾條件就可以了,以下是解析的結果

 

順便把我的xml檔貼出來


<?xml version="1.0" encoding="UTF-8"?>
<UsersInfo>
 <item>
   <name>潘玮柏</name>
   <address>上海市浦东新区</address>
   <song>快乐崇拜</song>
 </item>
 <item>
   <name>蔡依林</name>
   <address>上海市徐汇区</address>
   <song>独占神话</song>
 </item>
</UsersInfo>

總的說來操作真的太簡潔了。

以上是PHP xml解析與生成之SimpleXML使用介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn