Php Xml解析之DOMDocument使用方法

这里也只说一下如何使用PHP DOMDocument 解析XML文件。

 

代码如下:

PHP XML处理XML代码
  1. <? xml  version ="1.0"  encoding ="utf-8" ?>   
  2. < phplamp >   
  3.     < post >   
  4.         < title  id ="1" > PHP XML处理介绍一</ title >   
  5.         < details > 详细内容一</ details >   
  6.     </ post >   
  7.     < post >   
  8.         < title  id ="2" > PHP XML处理介绍二</ title >   
  9.         < details > 详细内容二</ details >   
  10.     </ post >   
  11.     < post >   
  12.         < title  id ="3" > PHP XML处理介绍三</ title >   
  13.         < details > 详细内容三</ details >   
  14.     </ post >   
  15. </ phplamp >   

然后就需要用PHP的DOMDocument去处理这个文件,将XML文件中的任何元素都解析出来。代码如下,里面有注释。

PHP Xml 解析DOMDocument代码
  1. <?php   
  2. // 首先要建一个DOMDocument对象   
  3. $xml  = new  DOMDocument();   
  4.   
  5. // 加载Xml 文件   
  6. $xml ->load("me.xml" );   
  7.   
  8. // 获取所有的post标签   
  9. $postDom  = $xml ->getElementsByTagName("post" );   
  10.   
  11. // 循环遍历post标签   
  12. foreach ($postDom  as  $post ){   
  13.     // 获取Title标签Node   
  14.     $title  = $post ->getElementsByTagName("title" );   
  15.   
  16.     /**  
  17.      * 要获取Title标签的Id属性要分两部走  
  18.      * 1. 获取title中所有属性的列表也就是$title->item(0)->attributes  
  19.      * 2. 获取title中id的属性,因为其在第一位所以用item(0)  
  20.      *  
  21.      * 小提示:  
  22.      * 若取属性的值可以用item(*)->nodeValue  
  23.      * 若取属性的标签可以用item(*)->nodeName  
  24.      * 若取属性的类型可以用item(*)->nodeType  
  25.      */   
  26.     echo  "Id: "  . $title ->item(0)->attributes->item(0)->nodeValue . "<br />" ;   
  27.     echo  "Title: "  . $title ->item(0)->nodeValue . "<br />" ;   
  28.     echo  "Details: "  . $post ->getElementsByTagName("details" )->item(0)->nodeValue . "<br /><br />" ;   
  29. }   
  30. ?>    

这只是一种方法,DOMDocument相当强大,还有更多的解析方法与策略,等待您去发掘。

你可能感兴趣的:(xml,PHP,encoding)