Php xml+xpath,打印元素
xml文件示例:Php xml+xpath,打印元素,php,xml,xpath,Php,Xml,Xpath,xml文件示例: 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.x
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/>';
?>
首先,id节点不存在
<people>
...
<person>
<phone>33333</phone>
<name>Aadgar</name>
<last_name>Adas</last_name>
</person>
...
</people>
我想你想要:
$query = '/people/person[id="33333"]';
那么,你必须做:
$query = '/people/person[phone="33333"]';
您似乎混淆了名称和语法。首先,id节点不存在
<people>
...
<person>
<phone>33333</phone>
<name>Aadgar</name>
<last_name>Adas</last_name>
</person>
...
</people>
我想你想要:
$query = '/people/person[id="33333"]';
那么,你必须做:
$query = '/people/person[phone="33333"]';
您似乎混淆了语法和语法。您的xpath搞错了。33333不是电话号码 试一试 也 他们没有身份证
$query = '/people/person[phone="33333"]';
尝试删除id部分xpath错误。33333不是电话号码 试一试 也 他们没有身份证
$query = '/people/person[phone="33333"]';
尝试删除id部分尝试以下操作:
echo 'id:'. $entries->id.'<br/>';
echo 'name:'.$entries->name.'<br/>';
试试这个:
echo 'id:'. $entries->id.'<br/>';
echo 'name:'.$entries->name.'<br/>';
$query='/people/person[phone=33333]'$query='/people/person[phone=33333]';