`

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

    博客分类:
  • PHP
阅读更多

忽然觉的这两天轻松许多,不像以前那样整天索事烦身。刚才看了下博客的访问统计,发现搜索DOMDocument的还蛮多的。顺手将我对Php DOMDocument的一点见解分享一下。昨天写了一篇关于Php Xml处理之simplexml使用方法浅谈,个人觉的simplexml对Php Xml解析上更实际,简便一些。

这里也只说一下如何使用PHP DOMDocument解析XML文件,关于生成XML文件以后再说。

关于用到的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相当强大,还有更多的解析方法与策略,等待您去发掘。。。

分享到:
评论

相关推荐

    PHP基于DOMDocument解析和生成xml的方法分析

    本文实例讲述了PHP基于DOMDocument解析和生成xml的方法。分享给大家供大家参考,具体如下: 前面和大家分享了SimpleXML操作xml的一些知识,但是php中除了simplexml还有DOMDocument,这次就着重来看看DOMDocument的...

    php解析xml 的四种简单方法(附实例)

    XML Parser使用Expat XML解析器。Expat是一种基于事件的解析器,它把XML文档视为一系列事件。当某个事件发生时,它调用一个指定的函数处理它。Expat是无验证的解析器,忽略任何链接到文档的DTD。但是,如果文档的...

    php 解析xml 的四种方法详细介绍

    XML Parser使用Expat XML解析器。Expat是一种基于事件的解析器,它把XML文档视为一系列事件。当某个事件发生时,它调用一个指定的函数处理它。Expat是无验证的解析器,忽略任何链接到文档的DTD。但是,如果文档的...

    PHP使用DOM对XML解析处理操作示例

    本文实例讲述了PHP使用DOM对XML解析处理操作。分享给大家供大家参考,具体如下: DOM(Document Object Model):文档对象模型。核心思想是:把 xml文件看作是一个对象模型,然后通过对象的方式来操作 xml 文件。 ...

    php读取xml文件类

    一款php xml读取类,很简单的一个xml分析类了,它可读取指它xml文档,并且输出或取得指定节点的xml数据,本xml类代码是利用了php domdocument来解析xml文档。

    通过php添加xml文档内容的方法

    本文实例讲述了通过php添加xml文档内容的方法。分享给大家供大家参考。具体分析如下: 这里讲述的添加xml文档内容,从上一篇《DOM基础及php读取xml内容操作的方法》继续,代码如下: 复制代码 代码如下:&lt;?php //1...

    php使用自带dom扩展进行元素匹配的原理解析

    php提供了非常好用的解析html和xml文档的扩展库DOM,使用这个库可以非常高效的进行html和xml文档的解析,它的原理就是通过寻找首尾匹配对来进行文档的解析。 从上面的分析可以看出,如果首位不匹配,可能就会导致...

    通过php修改xml文档内容的方法

    本文实例讲述了通过php修改xml文档内容的方法,分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:&lt;?php //1、创建一个DOMDocument对象。该对象就表示 xml文件 $xmldoc = new DOMDocument(); //2、...

    php读取xml文件类.zip

    提供一款php xml读取类,很简单的一个xml分析类了,它可读取指它xml文档,并且输出或取得指定节点的xml数据,本xml类代码是利用了php domdocument来解析xml文档。

    php抓取页面与代码解析 推荐

    得到数据我们不能直接输出,往往需要对内容进行提取,然后再... 使用插件(如:http://sourceforge.net/projects/snoopy/) 二、PHP解析html或xml代码主要方式: 1. 正则表达式 2. PHP DOMDocument对象 3. 插件(如:PHP

    PHP100视频教程全集112集BT种子【PHP经典】

    PHP100视频教程89:PHP XML 的 DOMDocument 读取功能 PHP100视频教程90:PHP DOM 创建生成多功能 XML文件 PHP100视频教程91:PHP修改和删除XML内容的原理和方法 PHP100视频教程92:在线支付接口之PHP支付宝接口...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    DTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或...

    PHP抓取网页、解析HTML常用的方法总结

    概述 爬虫是我们在做程序时经常会遇到的一种功能。PHP有许多开源的爬虫工具,如snoopy,这些开源的爬虫工具,通常能帮我们完成大部分功能,但是在某种情况下,我们需要自己实现...2.PHP DOMDocument对象 3.插件,如:PHP

    通过php删除xml文档内容的方法

    本文实例讲述了通过php删除xml文档内容的方法。分享给大家供大家参考。具体实现方法如下: 第一种情况:删除一个student节点 复制代码 代码如下:&lt;?php //1、创建一个DOMDocument对象。该对象就表示 xml文件 $...

    xml:简单安全地解析XML和HTML源

    两种加载方法(loadXml和loadHtml)都返回DomDocument。 如果您更喜欢使用SimpleXmlElement,则可以使用函数。 $ xml = '&lt;?xml version="1.0"?&gt;&lt;root&gt;text&lt;/root&gt;' ; $ html = '&lt;!doctype html&gt;&lt;title&...

    php课程(共100多节)

    89:PHP XML 的 DOMDocument 读取功能 90:PHP DOM 创建生成多功能 XML文件 91:PHP修改和删除XML内容的原理和方法 92:在线支付接口之PHP支付宝接口开发 93:在线支付接口之PHP云网接口开发 94:SVN (Subversion) ...

    PAX:PHP XML应用程序

    PAX \ Dom确实扩展了PHP DOM API,但是该库中的大多数内容都应该接受使用本机类,例如\ DOMDocument以及\ PAX \ Dom \ Document。 因此,它不是侵入性的。 PAX \ Soap不会扩展PHPs SoapClient / SoapServer。 因此...

    自定义php类(查找/修改)xml文档

    近期在看PHP的教学视频,其中讲到了 PHP 操作 xml 文档,学了点儿 DOMDocument 类。自己查手册又全英文,看不大懂。但还是自己写了个类,实现了查找 xml 节点,并修改节点值。背景解说完毕,且看代码如下: 复制代码...

    中文版PHP使用手册

    DOM XML Functions XXXI. Error Handling and Logging Functions XXXII. Exif Functions XXXIII. File Alteration Monitor Functions XXXIV. filePro Functions XXXV. Filesystem 文件系统函数 XXXVI. Firebird/...

Global site tag (gtag.js) - Google Analytics