xml + xpath,打印元素 [英] xml + xpath, print element
本文介绍了xml + xpath,打印元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Notice: Undefined property: DOMNodeList::$id in D:\wamp\www\xml\index.php on line 15
id:
Notice: Undefined property: DOMNodeList::$name in D:\wamp\www\xml\index.php on line 16
name:
<?php
$xml = new DOMDocument();
$xml->load('test.xml');
$xpath = new DOMXPath($xml);
$query = '/people/person[id="33333"]';
$entries = $xpath->query($query);
echo 'id:'. $entries->id.'<br/>';
echo 'name:'.$entries->name.'<br/>';
?>
xml 文件示例:
<people>
...
<person>
<phone>33333</phone>
<name>Aadgar</name>
<last_name>Adas</last_name>
</person>
...
</people>
推荐答案
首先,id
节点不存在...
First, the id
node doesn't exists...
$query = '/people/person[id="33333"]';
我想你想要:
$query = '/people/person[phone="33333"]';
那么,你必须这样做:
$entries = $xpath->query($query);
foreach ($entries as $entry) {
echo 'name:'. $entry->getElementsByTagName('name')->item(0)->nodeValue.'<br/>';
echo 'last_name:'.$entry->getElementsByTagName('last_name')->item(0)->nodeValue.'<br/>';
}
It seems you are mixing up DOM and SimpleXML syntax.
这篇关于xml + xpath,打印元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文