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
PHP4实际应用经验篇(9)
Oct 09 PHP
中国站长站 For Dede4.0 采集规则
May 27 PHP
PHP中读写文件实现代码
Oct 20 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
php使用正则表达式进行字符串搜索的方法
Mar 23 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
帝国cms常用标签汇总
Jul 06 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
详解thinkphp中的volist标签
Jan 15 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
Apr 23 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 远程图片保存到本地的函数类
2008/12/08 PHP
php 函数中使用static的说明
2012/06/01 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
php数组去重复数据示例
2014/02/25 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
url地址自动加#号问题说明
2010/08/21 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
element中el-container容器与div布局区分详解
2020/05/13 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python实现无证书加密解密实例
2014/10/27 Python
Python操作MySQL简单实现方法
2015/01/26 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
Python打印不合法的文件名
2020/07/31 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
大学生志愿者感言
2014/01/15 职场文书
入党自我评价优缺点
2014/01/25 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
学校食堂标语
2014/10/06 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
校长师德表现自我评价
2015/03/05 职场文书
Pandas数据结构之Series的使用
2022/03/31 Python