PHP возвращение Xpath: не объект - PullRequest
1 голос
/ 22 декабря 2010

С 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 ]

5 голосов
/ 22 декабря 2010

Сначала проверьте длину списка узлов, возвращаемого запросом XPATH->. Если это не 0, есть объект.

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

if($nodelist->length)//a DOMNodelist has a length-property
{
  $result = $nodelist->item(0)->nodeValue;
}
0 голосов
/ 22 декабря 2010

Используйте это выражение XPath :

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

и если результат больше 0, вы не получите описанную ошибку в:

$this->xpath->query(/custumer/new[id="222"])->item(0)->nodeValue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...