PHP操作XML中XPath的应用示例

这篇文章主要介绍了PHP操作XML中XPath的应用,结合实例形式分析了php使用XPath进行xml节点查询的相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP操作XML中XPath的应用,分享给大家供大家参考,具体如下:

XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSLT间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。

XPath设计的核心思想:迅速定位(不是通过循环遍历)到你所需要的元素(或者节点)。PHP 文件在载入xml文件和创建DOMDocument 对象后,就可以开始建立DOMXPath 对象。

建立形式如下:

$xpath = new DOMXPath($xmldoc);

建立 DOMXPath 对象后,就可以开始使用 DOMXPath::query()方法,找到你需要的元素:

$item = $xpath->query("xpath路径表达式");//返回值为DOMNodList对象

实例:

xml文档:words.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <words>
  3. <word>
  4. <en>boy</en>
  5. <ch>男孩</ch>
  6. </word>
  7. <word>
  8. <en>girl</en>
  9. <ch>女孩</ch>
  10. </word>
  11. <word>
  12. <en>teacher</en>
  13. <ch>老师</ch>
  14. </word>
  15. <word>
  16. <en>beauty</en>
  17. <ch>美女</ch>
  18. </word>
  19. </words>

XPath应用:index.php

  1. <?php
  2. $xmldoc = new DOMDocument();
  3. //加载文件
  4. $xmldoc->load("words.xml");
  5. //使用xpath查询
  6. $xpath = new DOMXPath($xmldoc);//创建DOMXPath对象
  7. $node_list = $xpath->query("/words/word/ch");//查询ch这个元素,返回值为DOMNodeList对象
  8. echo $node_list->item(0)->nodeValue;
  9. ?>