php+xml编程之xpath的应用实例

yipeiwu_com6年前PHP代码库

本文实例讲述了php+xml编程之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+XML程序设计有所帮助。

相关文章

PHP序列化/对象注入漏洞分析

本文是关于PHP序列化/对象注入漏洞分析的短篇,里面讲述了如何获取主机的远程shell。 如果你想自行测试这个漏洞,你可以通过 XVWA 和 Kevgir 进行操作。 漏洞利用的第一步,...

php自动加载的两种实现方法

php自动载方法有两种. 第一种方案用__autoload,这个函数较简单,也较弱. 但有一问题没有解决, 就是在include前判断文件是否存在的问题. 复制代码 代码如下: set_...

PHP解压ZIP文件到指定文件夹的方法

本文实例讲述了PHP解压ZIP文件到指定文件夹的方法。分享给大家供大家参考,具体如下: /** * function: 解压zip 格式的文件 * author:friker...

PHPUnit测试私有属性和方法功能示例

本文实例讲述了PHPUnit测试私有属性和方法功能。分享给大家供大家参考,具体如下: 一、测试类中的私有方法: class Sample { private $a = 0;...

PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例

本文实例讲述了PHP模拟一般面向对象语言中的方法重载(overload)。分享给大家供大家参考,具体如下: 在一般的面向对象设计语言(如C++,Java)中的方法重载就是定义相同的方法名...