`

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

分享到:
评论

相关推荐

    HTML5DOMDocument一个PHP的更好的HTML5解析器

    HTML5DOMDocument是PHP中处理HTML5文档的一个强大的工具,它是对PHP内置DOMDocument类的扩展,提供了更方便和高效的方式来解析和操作HTML5代码。这个解析器在处理不规范或者包含错误的HTML5文档时表现得更为健壮,...

    PHP100视频教程89:PHP.XML.的.DOMDocument.读取功能.rar

    使用`DOMDocument::loadXML()`方法可以将XML字符串解析为DOM树,而`DOMDocument::load()`方法则用于从文件加载XML文档。例如: ```php $doc = new DOMDocument(); $doc-&gt;load('example.xml'); ``` 4. **节点...

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

    在PHP编程语言中,处理XML文档是一项常见需求。DOMDocument是PHP内置的一个类,用于操作XML文档。它提供了一种以面向对象的方式解析...掌握DOMDocument的使用方法,对于需要进行XML处理的PHP开发者来说是非常有必要的。

    php xml解析类

    DOMDocument还提供了如`getElementsByTagName`, `getElementById`, `createNode`等方法,用于查找、创建和操作XML节点。 2. SimpleXML: SimpleXML是PHP内置的一个轻量级XML解析器,它的使用更为简单。只需要通过...

    PHP100视频教程90:PHP DOM 创建生成多功能 XML文件

    这可以通过`loadXML`或`load`方法实现,它们会将XML内容加载到`DOMDocument`对象中,然后就可以像处理新建的XML一样操作了。 此外,DOM库还提供了查找节点的方法,如`getElementsByTagName`和`getElementById`等,...

    php中用来解析xml的类

    这个XML解析类对于处理简单的XML文档来说可能非常实用,但如果你需要处理复杂的XML结构或者性能要求较高,你可能需要考虑使用DOMDocument或SAX解析器,它们提供了更强大的功能和更高的效率。例如,DOMDocument可以...

    PHP XML操作的各种方法解析(比较详细)

    本文介绍了PHP中处理XML数据的基本方法,包括使用SimpleXML、DOMDocument和XMLReader等组件。通过这些工具,开发者可以轻松地读取、解析和操作XML文档,从而有效地实现数据交换和存储的需求。随着XML在Web服务和其他...

    PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】

    本文将围绕使用PHP读取XML文件,重点介绍两种常用的方法:DOMDocument和simplexml。 首先,我们来了解DOMDocument类。DOMDocument是PHP的内置类,属于Document Object Model(文档对象模型)的一部分,主要用于解析...

    利用DOM读写XML

    1. **加载XML文件**:使用`DOMDocument`的`loadXML`或`load`方法加载XML文件: ```php $doc = new DOMDocument(); $doc-&gt;load('input.xml'); ``` 2. **遍历DOM树**:通过DOMDocument对象,我们可以获取XML的根...

    php 实现post xml并解析

    首先,实例化`DOMDocument`对象,然后使用`createElement`方法创建元素节点,`nodeValue`设置文本内容,最后用`saveXML`方法将整个文档转换为字符串。 ```php $doc = new DOMDocument('1.0', 'UTF-8'); $root = ...

    php xml转数组

    有两种方法可以将XML转换为数组,一种是使用`DOMDocument`和`DOMXpath`,另一种是使用`simplexml_load_string`函数。这里我们先介绍第一种: ```php $resultArray = []; foreach ($xpath-&gt;query('//root/item')...

    PHP读取和编写XMLDOM

    它提供了一系列的类和方法,如`DOMDocument`用于加载XML文件,`DOMElement`代表XML元素,以及`getElementsByTagName`、`getElementById`等方法用于查找特定元素。例如,以下代码展示了如何使用DOM库读取清单1中的XML...

    xml.rar_php xml_xml php

    对于XML文件的读取,可以使用DOMDocument的`getElementsByTagName`、`getElementById`、`querySelector`等方法,或者SimpleXMLElement的属性访问语法。例如,读取XML文件中的特定节点: ```php $xml = simplexml_...

    php递归解析xml

    而PHP提供了处理XML的强大工具,如SimpleXML、DOMDocument和XMLReader等。本篇将详细介绍如何使用PHP的递归方法解析XML并将其转换为数组,以便在ExtJS的tree组件中使用。 首先,我们来讨论如何使用SimpleXML扩展来...

    php解析xml文档

    其中,SimpleXML是PHP提供的一个非常简单易用的XML解析扩展,它允许开发者以面向对象的方式来处理XML文档。下面我们将主要使用SimpleXML进行示例。 1. **加载XML文档** 使用`simplexml_load_file()`函数可以加载...

    php读取xml文件类

    PHP提供了DOMDocument类,这是一个强大的工具,可以用来解析、修改和操作XML文档。下面将详细讨论PHP如何利用DOMDocument类读取XML文件以及这个“php读取xml文件类”的基本工作原理。 首先,DOMDocument类是PHP内建...

    用PHP读取和编写XML DOM

    在PHP中,有多种方法来处理XML,包括使用DOM库、SAX解析器和正则表达式。DOM(Document Object Model)库是其中最常用的一种,它将整个XML文档加载到内存中,形成一棵节点树,便于遍历和操作。 例如,要读取清单1中...

    php 处理 xml 文件

    - 通过`loadXML()`或`load()`方法加载XML数据到DOMDocument对象,如`$doc-&gt;loadXML($xmlString)`或`$doc-&gt;load('file.xml')`。 2. 保存一个DOMDocument对象: - `save()`方法用于将DOMDocument对象保存为XML文件...

    php dom 解析类和函数文件封装

    在PHP中,DOM(Document Object Model)是一种标准的解析XML和HTML文档的接口,它允许开发者以树形结构处理文档内容。PHP的DOM扩展提供了一系列的类和函数,用于创建、遍历和修改DOM对象。在给定的“php dom 解析类...

Global site tag (gtag.js) - Google Analytics