Php Xml解析之DOMDocument使用方法浅解
2009-11-06 17:17
1006 查看
用到的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
>
详细内容一
</
details
>
</
post
>
<
post
>
<
title
id
=
"2"
>
PHP XML处理介绍二
</
title
>
<
details
>
详细内容二
</
details
>
</
post
>
<
post
>
<
title
id
=
"3"
>
PHP XML处理介绍三
</
title
>
<
details
>
详细内容三
</
details
>
</
post
>
</
phplamp
>
然后就需要用PHP的DOMDocument去处理这个文件,将XML文件中的任何元素都解析出来。代码如下,里面有注释。
PHP Xml解析DOMDocument代码
<?php
// 首先要建一个DOMDocument对象
$xml
=
new
DOMDocument();
// 加载Xml文件
$xml
->load(
"me.xml"
);
// 获取所有的post标签
$postDom
=
$xml
->getElementsByTagName(
"post"
);
// 循环遍历post标签
foreach
(
$postDom
as
$post
){
// 获取Title标签Node
$title
=
$post
->getElementsByTagName(
"title"
);
/**
* 要获取Title标签的Id属性要分两部走
* 1. 获取title中所有属性的列表也就是$title->item(0)->attributes
* 2. 获取title中id的属性,因为其在第一位所以用item(0)
*
* 小提示:
* 若取属性的值可以用item(*)->nodeValue
* 若取属性的标签可以用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"
)->item(0)->nodeValue .
"<br /><br />"
;
}
?>
这只是一种方法,DOMDocument相当强大,还有更多的解析方法与策略,等待您去发掘。。。
PHP XML处理XML代码
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
phplamp
>
<
post
>
<
title
id
=
"1"
>
PHP XML处理介绍一
</
title
>
<
details
>
详细内容一
</
details
>
</
post
>
<
post
>
<
title
id
=
"2"
>
PHP XML处理介绍二
</
title
>
<
details
>
详细内容二
</
details
>
</
post
>
<
post
>
<
title
id
=
"3"
>
PHP XML处理介绍三
</
title
>
<
details
>
详细内容三
</
details
>
</
post
>
</
phplamp
>
然后就需要用PHP的DOMDocument去处理这个文件,将XML文件中的任何元素都解析出来。代码如下,里面有注释。
PHP Xml解析DOMDocument代码
<?php
// 首先要建一个DOMDocument对象
$xml
=
new
DOMDocument();
// 加载Xml文件
$xml
->load(
"me.xml"
);
// 获取所有的post标签
$postDom
=
$xml
->getElementsByTagName(
"post"
);
// 循环遍历post标签
foreach
(
$postDom
as
$post
){
// 获取Title标签Node
$title
=
$post
->getElementsByTagName(
"title"
);
/**
* 要获取Title标签的Id属性要分两部走
* 1. 获取title中所有属性的列表也就是$title->item(0)->attributes
* 2. 获取title中id的属性,因为其在第一位所以用item(0)
*
* 小提示:
* 若取属性的值可以用item(*)->nodeValue
* 若取属性的标签可以用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"
)->item(0)->nodeValue .
"<br /><br />"
;
}
?>
这只是一种方法,DOMDocument相当强大,还有更多的解析方法与策略,等待您去发掘。。。
相关文章推荐
- Php Xml解析之DOMDocument使用方法
- C#中使用DOM解析XML文档的方法
- 使用PHP DOM-XML创建和解析XML文件
- dom解析xml中的getElementById方法的使用
- php4/5使用Dom方式读取和解析和创建XML简单教程
- php中SimpleXML的使用方法,加载XML,解析XML
- PHP使用DOM和simplexml读取xml文档的方法示例
- 使用PHP DOM-XML创建和解析XML文件
- 使用PHP DOM-XML创建和解析XML文件
- 关于php 使用 soap出现错误 looks like we got no XML document 解决方法
- PHP实现使用DOM将XML数据存入数组的方法示例
- PHP基础之使用DOM解析xml
- 使用DOM方法实现xml文档内容的解析与写入
- PHP使用xpath解析XML的方法详解
- PHP中使用DOM读取解析XML属性值一例
- 使用PHP DOM-XML创建和解析XML文件
- PHP XML操作类DOMDocument
- Oracle使用Sql把XML解析成表(Table)的方法
- 用dom解析xml的方法实现二级菜单级联及它们中出现的浏览器兼容问题
- php 解析xml 的四种方法(转)