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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
php 网上商城促销设计实例代码
Feb 17 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
Jan 26 PHP
一个php生成16位随机数的代码(两种方法)
Sep 16 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
php页面缓存方法小结
Jan 10 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 PHP
WordPress中制作导航菜单的PHP核心方法讲解
Dec 11 PHP
PHP调用Mailgun发送邮件的方法
May 04 PHP
php通过各种函数判断0和空
Jul 04 PHP
thinkphp5修改view到根目录实例方法
Jul 02 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实现与ASP Banner组件相似的类
2006/10/09 PHP
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
对联广告js flash激活
2006/10/19 Javascript
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
haskell实现多线程服务器实例代码
2013/11/26 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
Django用户身份验证完成示例代码
2020/04/03 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
python 装饰器重要在哪
2021/02/14 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
妇科医生自荐信
2013/11/05 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
小学生家长评语集锦
2014/01/30 职场文书
大学军训感言200字
2014/02/26 职场文书
保险公司晨会主持词
2014/03/22 职场文书
入党介绍人考察意见
2015/06/01 职场文书
中学校园广播稿
2015/08/18 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
用Python可视化新冠疫情数据
2022/01/18 Python