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程序
Oct 09 PHP
用函数读出数据表内容放入二维数组
Oct 09 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
PHP开发中csrf攻击的简单演示和防范
May 07 PHP
使用WAMP搭建PHP本地开发环境
May 10 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP关于foreach复制知识点总结
Jan 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 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
php获取一个变量的名字的方法
2014/09/05 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
快速入门Vue
2016/12/19 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
匡威意大利官方商店 :Converse意大利
2018/11/27 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
2014年初三班主任工作总结
2014/12/05 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
导游词之西安骊山
2019/12/03 职场文书
以下牛机,你有几个
2022/04/05 无线电
redis lua限流算法实现示例
2022/07/15 Redis