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
一步一步学习PHP(3) php 函数
Feb 15 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
Mar 01 PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 PHP
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
php中使用PHPExcel读写excel(xls)文件的方法
Sep 15 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
php阿拉伯数字转中文人民币大写
Dec 21 PHP
PHP编写简单的App接口
Aug 28 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
PHP单元测试框架PHPUnit用法详解
Jan 23 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 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
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
js数组去重的hash方法
2016/12/22 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
python万年历实现代码 含运行结果
2017/05/20 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
Python实现的特征提取操作示例
2018/12/03 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
Django框架 querySet功能解析
2019/09/04 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
浅谈在django中使用redirect重定向数据传输的问题
2020/03/13 Python
Python3.9新特性详解
2020/10/10 Python
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
东方电视购物:东方CJ
2016/10/12 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
2014年调度员工作总结
2014/11/19 职场文书
Java设计模式之代理模式
2022/04/22 Java/Android
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis