Php Xml解析之DOMDocument使用方法浅解

 用到的XML文件还以“Php Xml处理之simplexml使用方法浅谈”一文中的XML为例,文件名为:me.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相当强大,还有更多的解析方法与策略,等待您去发掘。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值