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 相关文章推荐
MySql中正则表达式的使用方法描述
Jul 30 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
PHP 小心urldecode引发的SQL注入漏洞
Oct 27 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
php使用curl并发减少后端访问时间的方法分析
May 12 PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
PHP count_chars()函数讲解
Feb 14 PHP
Laravel 添加多语言提示信息的方法
Sep 29 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
实用函数8
2007/11/08 PHP
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
python通过post提交数据的方法
2015/05/06 Python
python实现一组典型数据格式转换
2018/12/15 Python
python3安装speech语音模块的方法
2018/12/24 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
详解Django配置优化方法
2019/11/18 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
统计系教授推荐信
2014/02/28 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
党员个人党性分析材料
2014/12/18 职场文书
小学运动会前导词
2015/07/20 职场文书