php Xpath返回:非对象

时间:2010-12-22 00:28:57

标签: php xpath

使用PHP XPath我在xml文件中搜索客户:

$this->xpath->query(/custumer/new[id="222"])->item(0)->nodeValue;

但是如果这个客户在xml文件中不存在,我会收到错误:

Notice: Trying to get property of non-object in D:\www\test.php on line 17

如何避免此错误?

2 个答案:

答案 0 :(得分:5)

首先检查XPATH->查询返回的nodeList的长度。如果它不是0,则有一个对象。

$nodelist = $this->xpath->query('/custumer/new[@id="222"]');

if($nodelist->length)//a DOMNodelist has a length-property
{
  $result = $nodelist->item(0)->nodeValue;
}

答案 1 :(得分:0)

使用此XPath表达式

count(/custumer/new[id="222"])

如果结果大于0,那么您将无法获得所描述的错误:

$this->xpath->query(/custumer/new[id="222"])->item(0)->nodeValue