本文实例讲述了PHP操作XML中XPath的应用。分享给大家供大家参考,具体如下:
XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSLT间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。
XPath设计的核心思想:迅速定位(不是通过循环遍历)到你所需要的元素(或者节点)。PHP 文件在载入xml文件和创建DOMDocument 对象后,就可以开始建立DOMXPath 对象。
建立形式如下:
1
|
$xpath = new DOMXPath( $xmldoc );
|
建立 DOMXPath 对象后,就可以开始使用 DOMXPath::query()
方法,找到你需要的元素:
1
|
$item = $xpath ->query( "xpath路径表达式" ); //返回值为DOMNodList对象
|
实例:
xml文档:words.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<? xml version = "1.0" encoding = "utf-8" ?>
< words >
< word >
< en >boy</ en >
< ch >男孩</ ch >
</ word >
< word >
< en >girl</ en >
< ch >女孩</ ch >
</ word >
< word >
< en >teacher</ en >
< ch >老师</ ch >
</ word >
< word >
< en >beauty</ en >
< ch >美女</ ch >
</ word >
</ words >
|
XPath应用:index.php
1
2
3
4
5
6
7
8
9
|
<?php
$xmldoc = new DOMDocument();
//加载文件
$xmldoc ->load( "words.xml" );
//使用xpath查询
$xpath = new DOMXPath( $xmldoc ); //创建DOMXPath对象
$node_list = $xpath ->query( "/words/word/ch" ); //查询ch这个元素,返回值为DOMNodeList对象
echo $node_list ->item(0)->nodeValue;
?>
|
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/Yeoman92/article/details/53054985