PHP操作XML中XPath的应用示例


Posted in PHP onJuly 04, 2019

本文实例讲述了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;
?>
PHP 相关文章推荐
php更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
PHP获取MSN好友列表类的实现代码
Jun 23 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
Feb 14 PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 PHP
浅谈PHP的反射机制
Dec 15 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP的mysqli_stat()函数讲解
Jan 23 PHP
PHP写API输出的时用echo的原因详解
Apr 28 PHP
PHP实现财务审核通过后返现金额到客户的功能
Jul 04 #PHP
PHP使用DOM对XML解析处理操作示例
Jul 04 #PHP
PHP创建XML接口示例
Jul 04 #PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
Jul 03 #PHP
PHP实现关键字搜索后描红功能示例
Jul 03 #PHP
Smarty模板类内部原理实例分析
Jul 03 #PHP
Referer原理与图片防盗链实现方法详解
Jul 03 #PHP
You might like
PHP如何利用P3P实现跨域
2013/08/24 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
Laravel框架实现利用监听器进行sql语句记录功能
2018/06/06 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
前端天气插件tpwidget使用方法详解
2019/06/24 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
python操作excel的方法
2018/08/16 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
超实用的 30 段 Python 案例
2019/10/10 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
css3类选择器之结合元素选择器和多类选择器用法
2017/03/09 HTML / CSS
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
linux面试题参考答案(8)
2015/08/11 面试题
传播学专业毕业生自荐信
2013/11/04 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
交通事故案件代理词
2015/05/23 职场文书
ORACLE查看当前账号的相关信息
2021/06/18 Oracle