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 相关文章推荐
服务器端解压缩zip的脚本
Dec 22 PHP
php 生成WML页面方法详解
Aug 09 PHP
PHP根据IP判断地区名信息的示例代码
Mar 03 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
PHP微信开发之查询微信精选文章
Jun 23 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
php 如何设置一个严格控制过期时间的session
May 05 PHP
PHP中关键字interface和implements详解
Jun 14 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执行速度全攻略(下)
2006/10/09 PHP
2014过年倒计时示例
2014/01/31 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
vue实现分页组件
2020/06/16 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
[01:11:02]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
机电专业大学生求职信
2013/10/04 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
预备党员个人总结
2015/02/14 职场文书
交通事故调解协议书
2015/05/20 职场文书
《灰雀》教学反思
2016/02/19 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL