在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("text in some element1 text in some element2 ");
print get_node_value($newdoc,'Template/root/someelement/someelement1');
标签: vps
这篇文章发布于 2010年02月5日,星期五,8:27 下午,归类于 未分类。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback。
在这里测试一下,我网站评论的时候老是显示“无法显示网页”。看看你的会不会。
应该不会吧