PHP操作XML中XPath的应用示例

 更新时间:2019年07月04日 09:48:32   作者:Yeoman92  
这篇文章主要介绍了PHP操作XML中XPath的应用,结合实例形式分析了php使用XPath进行xml节点查询的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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;
?>

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】

    Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】

    这篇文章主要介绍了Windows上php5.6操作mongodb数据库,结合实例形式简单分析了Windows平台上使用php5.6针对MongoDB数据库的配置、连接、获取实例等相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • php结合curl实现多线程抓取

    php结合curl实现多线程抓取

    PHP利用 Curl可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,然而因为php语言本身不支持多线程,所以开发爬虫程序效率并不高,因此经常需要借助Curl Multi Functions 这个功能实现并发多线程的访问多个url地址以实现并发多线程抓取网页或者下载文件
    2015-07-07
  • php 定义404页面的实现代码

    php 定义404页面的实现代码

    今天需要用php输出一个404错误页面,然后加载404页面输出,各个方便给用户与搜索引擎好的用户体验
    2012-11-11
  • 基于php实现长连接的方法与注意事项的问题

    基于php实现长连接的方法与注意事项的问题

    本篇文章是对在php中实现长连接的方法与注意事项的问题进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • Linux下实现PHP多进程的方法分享

    Linux下实现PHP多进程的方法分享

    PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数),需要的朋友可以参考下
    2012-08-08
  • 两级联动select刷新后其值保持不变的实现方法

    两级联动select刷新后其值保持不变的实现方法

    两级联动select刷新后,select值保持不变即点击提交按钮后,页面select中继续维持提交前的值,下面有个不错的示例,大家可以参考下
    2014-01-01
  • PHP多线程编程之管道通信实例分析

    PHP多线程编程之管道通信实例分析

    这篇文章主要介绍了PHP多线程编程之管道通信,实例分析了管道通信的原理与相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法

    PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法

    在CSDN的PHP版里老是看到有人问TEXT字段被截断的问题,偶也回答了无数次,今天索性就总结一下吧
    2009-03-03
  • php设计模式介绍之值对象模式

    php设计模式介绍之值对象模式

    在所有的最简单的程序中,大多数对象都有一个标识,一个重要的商业应用对象,例如一个Customer或者一个SKU,有一个或者更多的属性---id,name,email地址,这样可以把它从同一个类的其他实例区分开来。此外,对象有一个恒定的标识:它是贯穿于整个应用程序的一个唯一的标识,对于程序员来说,”customer A”在任何地方就是”customer A”,并且只要你的程序在持续运行时"customer A"仍然是"customer A"。 但是一个对象不需要有一个标识。有些对象仅仅是为了描述其他对象的属性。
    2008-04-04
  • phpQuery采集网页实现代码实例

    phpQuery采集网页实现代码实例

    这篇文章主要介绍了phpQuery采集网页实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论