本文实例讲述了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

<?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

<?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;
?>

ps:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线xml/json互相转换工具:

在线格式化xml/在线压缩xml

xml在线压缩/格式化工具:

xml代码在线格式化美化工具: