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

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

你可能感兴趣的:(PHP开发)