php读取xml实例代码

yipeiwu_com7年前PHP代码库
php文件
复制代码 代码如下:

<?php
class xpathExtension{
public static function getNodes($domDoc, $xpathString) {
$xp = new DOMXPath($domDoc);
$xp->registerNamespace('x', 'http://www.w3.org/1999/xhtml');
$xp->registerNamespace('xhtml', 'http://www.w3.org/1999/xhtml');
$xp->registerNamespace('i18n', 'http://apache.org/cocoon/i18n/2.1');
$ret = array();
$nodes = $xp->query($xpathString);
foreach ($nodes as $node) {
array_push($ret, $node);
}
return $ret;
}
}
$domDoc = new DOMDocument();
$domDoc->load("x1.xml");
$xpathString = "//xml/products/product/description";
$domNodeList = xpathExtension::getNodes($domDoc, $xpathString);
//echo count($domNodeList);
foreach($domNodeList as $domNode){
echo $domNode->nodeValue;
}
?>

xml
复制代码 代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<xml>
<products>
<product>
<description>
abcd
</description>
</product>
</products>
</xml>

相关文章

解析php addslashes()与addclashes()函数的区别和比较

PHP addcslashes() 函数定义和用法addcslashes() 函数在指定的字符前添加反斜杠。语法addcslashes(string,characters)参数 描述 s...

PHP flush 函数使用注意事项

ob_*系列函数, 是操作PHP本身的输出缓冲区. 所以, ob_flush是刷新PHP自身的缓冲区. 而flush, 严格来讲, 这个只有在PHP做为apache的Module(han...

ThinkPHP中公共函数路径和配置项路径的映射分析

本文实例分析了ThinkPHP中公共函数路径和配置项路径的映射。分享给大家供大家参考。具体分析如下: ThinkPHP中在使用公共函数时(单一入口文件对应独立的项目),在Common文件...

PHP代码优化之成员变量获取速度对比

有如下4个代码示例,你认为他们创建对象,并且获得成员变量的速度排序是怎样的? 1:将成员变量设置为public,通过赋值操作给成员变量赋值,直接获取变量复制代码 代码如下:<?ph...

两款万能的php分页类

本文为大家分享个超级好用、万能的php分页类,具体的实现代码如下 第一款php分页类 <?php /* * To change this template, choo...