PHP使用xpath解析XML实例教程

  XML文件在PHP网站开发的轻量级应用中使用非常广泛,而PHP解析和读取XML文件的方式有很多种,比如JS DOM、SimpleXml、Xpath等方式解析XML文件,今天来讲讲在PHP中使用Xpath解析XML的实例,同时通过Xpath解析XML的实例来介绍部分基础的Xpath语法。

  Xpath是什么?

  Xapth主要用来在XML文档中查询信息的工具,通过使用路径表达式可以解析XML文件,读取XML文件中的数据。

  PHP解析XML推荐教程

  PHP4和PHP5版本下解析XML文档的操作方法

  需要PHP解析的XML文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml
version="1.0"
encoding="gbk"?>
<LeapsoulXML>  
    <LeapsoulInfo>  
        <name>PHP网站开发-PHP教程-Leapsoul.cn</name>
        <website>http://www.leapsoul.cn</website>
    </LeapsoulInfo>

    <LeapsoulInfo>  
        <name>
          <keywords>
          <keyword
keyid='1'>PHP网站开发</keyword>
          <keyword
keyid='2'>PHP教程</keyword>
          <keyword
keyid='3'>PHP</keyword>
          </keywords>
          <seo>SEO</seo>
        </name>
    </LeapsoulInfo>

    <WebInfo>  
        <name>PHP网站开发</name>
        <website>http://www.leapsoul.cn</website>
    </WebInfo>
</LeapsoulXML>

  Xpath语法教程

  /表示从XML文件中的根节点开始解析

  //表示在XML文件中匹配已选择的当前节点,且不考虑其位置关系(类似于SQL中模糊查询)

  .
表示选取当前节点

  ..表示选取当前节点的父节点

  @表示匹配具体的节点或属性

  PHP解析XML实例第一步

1 $xml
= simplexml_load_file('leapsoulcn.xml');

说明:使用PHP SimpleXML载入需要解析的XML文档,SimpleXML默认PHP5支持。

  PHP解析XML Xpath实例一:

1
2
3
foreach($xml->xpath('LeapsoulInfo')
as
$value)
{  
        print_r($value);
    }

说明:在这个Xpath实例中通过Xpath查询指定节点,以数组形式返回其所有的子节点,并通过PHP的print_r函数打印出最终的数组结构。

  PHP解析XML Xpath实例二

1
2
3
foreach($xml->xpath('LeapsoulInfo/name')
as
$value)
{  
        print_r($value);
    }

说明:在这个Xpath实例中通过Xpath路径表达式的方式指定需要Xapth查询的某个特定子节点,以数组形式返回这个子节点的元素。

  PHP解析XML Xpath实例三

1
2
3
foreach($xml->xpath('//name')
as
$value)
{  
        print_r($value);
    }

说明:在这个Xpath实例中通过使用//表示使用Xpath查询XML文件中所有name节点的元素,与上一个Xpath实例的区别在于name没有位置关系。

  PHP解析XML Xpath实例四

1
2
3
foreach($xml->xpath('LeapsoulInfo//name')
as
$value)
{  
        print_r($value);
    }

说明:PHP解析XML文件中指定节点下的某个子节点,以数组形式返回其所有子节点,忽略指定的这个子节点在LeapsoulInfoXML中的位置关系。

  PHP解析XML Xpath实例五

1
2
3
foreach($xml->xpath("//name/keywords/keyword[@keyid='1']")
as
$value)
{  
        print_r($value);
    }

说明:在需要PHP解析的XML文件中通过Xpath查找keyid=1的元素,以数组形式返回。

  OK,上述几个PHP Xpath实例教程是PHP解析XML文件最基础的方法,通过合理使用Xpath路径表达式可以进行复杂的XML查询和解析,使用起来感觉和SQL一样方便。

  :PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。

时间: 2025-01-31 05:53:34

PHP使用xpath解析XML实例教程的相关文章

jsp 读取XML的类库之DOM解析 xml实例教程

jsp教程 读取XML的类库之DOM解析 xml实例教程 xml文件: <?xml version="1.0" encoding="GB2312"?> <RESULT>   <VALUE>        <NO>A1234</NO>        <ADDR>四川省XX县XX镇XX路X段XX号</ADDR>   </VALUE>   <VALUE>      

NanoXML组件解析xml实例

NanoXML组件解析xml实例: noaoxml组件对xml格式的字符串解析,效率很高   代码如下:   package com.yanek.demo.xml.test; import java.util.Vector; import javolution.context.ObjectFactory;import net.n3.nanoxml.IXMLElement;import net.n3.nanoxml.IXMLParser;import net.n3.nanoxml.IXMLRead

python 解析XML python模块xml.dom解析xml实例代码_python

一 .python模块 xml.dom 解析XML的APIminidom.parse(filename)加载读取XML文件 doc.documentElement获取XML文档对象 node.getAttribute(AttributeName)获取XML节点属性值 node.getElementsByTagName(TagName)获取XML节点对象集合 node.childNodes #返回子节点列表. node.childNodes[index].nodeValue获取XML节点值 nod

JS解析XML实例分析_javascript技巧

本文实例讲述了JS解析XML的方法.分享给大家供大家参考.具体实现方法如下: <script type="javascript"> var txt="<note>"; txt=txt+"<to>George</to>"; txt=txt+"<from>John</from>"; txt=txt+"<heading>Reminder&l

JSP基于dom解析xml实例详解_JSP编程

本文实例讲述了JSP基于dom解析xml的方法.分享给大家供大家参考,具体如下: 初次学习用dom操作xml文件,有很多不足之处,牛人多给点建议,练习时我没对中文做乱码处理,也没做验证哦!O(∩_∩)O~ 实体类:User public class User { private String name; private String pwd; private String email; public String getName() { return name; } public void se

java使用xpath解析xml示例分享_java

XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力.起初 XPath 的提出的初衷是将其作为一个通用的.介于XPointer与XSL间的语法模型.但是 XPath 很快的被开发者采用来当作小型查询语言. XPathTest.java 复制代码 代码如下: package com.hongyuan.test; import java.io.File;import java

AJAX解析XML实例之下拉框省、市二级联动_AJAX相关

这个例子是实现省.市二级联动,当选择某一省时,改省下面的市就会在另一个下拉框显示出来.在本例中AJAX通过解析XML文件得到的数据传回到jsp页面,其中省市均是从数据库取到的值: jsp页面代码: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPa

sql server 2005与xml实例教程

说明 query() 方法( xml 数据类型) 此方法用于对 XML 实例进行查询. value() 方法( xml 数据类型) 此方法用于从 XML 实例检索 SQL 类型的值. exist() 方法( xml 数据类型) 此方法用于确定查询是否返回非空结果. modify() 方法( xml 数据类型) 此方法用于指定 XML DML 语句以执行更新. nodes() 方法( xml 数据类型) 此方法用于将 XML 拆分成多行以将 XML 文档的组成部分传播到行集中. 闲话少说,首先创建

AJAX解析XML实例之下拉框省、市二级联动

这个例子是实现省.市二级联动,当选择某一省时,改省下面的市就会在另一个下拉框显示出来.在本例中AJAX通过解析XML文件得到的数据传回到jsp页面,其中省市均是从数据库取到的值: jsp页面代码: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPa