解讀PHP DOMDocument在解析XML文件中的作用
在使用PHP對XML文件進(jìn)行解析的時(shí)候,我們可以用很多方法。在這里,我們將為大家重點(diǎn)介紹如何使用PHP DOMDocument來及逆行能夠XML文件的解析。#t#
關(guān)于用到的XML文件還以“Php Xml處理之simplexml使用方法淺談”一文中的XML為例,文件名為:me.xml。代碼如下:
PHP XML處理XML代碼
- < ?xml version="1.0" encoding="utf-8"?>
- < phplamp>
- < post>
- < title id="1">PHP XML處理介紹一< /title>
- < details>詳細(xì)內(nèi)容一< /details>
- < /post>
- < post>
- < title id="2">PHP XML處理介紹二< /title>
- < details>詳細(xì)內(nèi)容二< /details>
- < /post>
- < post>
- < title id="3">PHP XML處理介紹三< /title>
- < details>詳細(xì)內(nèi)容三< /details>
- < /post>
- < /phplamp>
然后就需要用PHP DOMDocument去處理這個(gè)文件,將XML文件中的任何元素都解析出來。代碼如下,里面有注釋。
PHP DOMDocument解析XML文件的代碼
- < ?php
- // 首先要建一個(gè)DOMDocument對象
- $xml = new DOMDocument();
- // 加載Xml文件
- $xml->load("me.xml");
- // 獲取所有的post標(biāo)簽
- $postDom = $xml->
getElementsByTagName("post");- // 循環(huán)遍歷post標(biāo)簽
- foreach($postDom as $post){
- // 獲取Title標(biāo)簽Node
- $title = $post->
getElementsByTagName("title");- /**
- * 要獲取Title標(biāo)簽的Id屬性要分兩部走
- * 1. 獲取title中所有屬性的
列表也就是$title->item(0)->attributes- * 2. 獲取title中id的屬性,
因?yàn)槠湓诘谝晃凰杂胕tem(0)- *
- * 小提示:
- * 若取屬性的值可以用item(*)->nodeValue
- * 若取屬性的標(biāo)簽可以用item(*)->nodeName
- * 若取屬性的類型可以用item(*)->nodeType
- */
- echo "Id: " . $title->item(0)->
attributes->item(0)->nodeValue . "< br />";- echo "Title: " . $title->
item(0)->nodeValue . "< br />";- echo "Details: " . $post->
getElementsByTagName("details")->i
tem(0)->nodeValue . "< br />< br />";- }
- ?>
這只是一種方法,PHP DOMDocument相當(dāng)強(qiáng)大,還有更多的解析方法與策略,等待您去發(fā)掘。