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 相关文章推荐
层叠菜单的动态生成
Oct 09 PHP
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
PHP读取xml方法介绍
Jan 12 PHP
定义php常量的详解
Jun 09 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
php实现excel中rank函数功能的方法
Jan 20 PHP
php中get_cfg_var()和ini_get()的用法及区别
Mar 04 PHP
php实现encode64编码类实例
Mar 24 PHP
PHP微信开发之模板消息回复
Jun 24 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
Apr 03 PHP
PHP session垃圾回收机制实例分析
Jun 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遍历二维数组的代码
2011/04/22 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
php中final关键字用法分析
2016/12/07 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
Python MySQLdb Linux下安装笔记
2015/05/09 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
python 内置函数filter
2017/06/01 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
Python facenet进行人脸识别测试过程解析
2019/08/16 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
怎样客观的做好自我评价
2013/12/28 职场文书
个人剖析材料范文
2014/09/30 职场文书
学生检讨书怎么写
2014/10/09 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技