php程序员老李的日志

PHP程序员老李的心情,生活以及和php的相关文字记录

原创 php定义函数类似于asp中的selectSingleNode获取多节点xml内容

在php中没有发现类似于asp中操作DOM时获取多层节点内容的函数,一级一级的获取似乎太麻烦了

自己定义了一个函数用于获取xml中多层节点里面的内容

function get_node_value($objXML,$strNodeName) {
	$pos = strpos($strNodeName,'/');
	if($pos > 0) {
		$str = explode('/',$strNodeName);

		foreach($str as $val) {
			$obj = $objXML->getElementsByTagName($val)->item(0);
			if($obj->hasChildNodes()) {
				$objXML = $obj;
			}
		}
		return $objXML->nodeValue;
	}else{
		return select_single_node($objXML,$strNodeName);
	}
}

function select_single_node($objXML,$nodeName) {
	$t = $objXML->getElementsByTagName($nodeName);
	if($t->length == 1) {
		return $t->item(0)->nodeValue;
	}else{
		return '';
	}
}

$newdoc = new DOMDocument('1.0');
$newdoc->loadXML("");
print get_node_value($newdoc,'Template/root/someelement/someelement1');

标签:

这篇文章发布于 2010年02月5日,星期五,8:27 下午,归类于 未分类。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback

« »

2 条评论 发表在“php定义函数类似于asp中的selectSingleNode获取多节点xml内容”上

  1. 说道:

    在这里测试一下,我网站评论的时候老是显示“无法显示网页”。看看你的会不会。

留下回复

李立全
李立全
来自湖南-宁远,现就职于广东-广州,
职业PHP程序员,Q  Q1504-967,
MSNlee#dayanmei.com.

日志列表

php程序员老李的日志由 WordPress 驱动