Оценить, соответствует ли результат запроса DOMXpath-›

Как я могу оценить, действительно ли DOMTXpath->query возвращает данные. Прямо сейчас я делаю ($xml — это объект DOMXpath):

foreach($xml->query($xpath) as $node)
{
  echo $node->textContent;
}

Но если мой $xpath не приводит к узлу, он просто не выводит никаких данных. Я пробовал что-то вроде:

if ($xml->query($xpath))
{
echo "found";
}else{
echo "not found";
}

но это, кажется, не работает. Как я могу проверить, действительно ли мой запрос возвращает соответствующий узел (фактически атрибут в данном случае)?


person spyderman4g63    schedule 24.02.2011    source источник


Ответы (1)


Проверьте параметр длины при возврате функции query(). xpath->query() возвращает DOMNodeList.

$nodeList = $xpath->query();
if ($nodeList->length > 0) {
    echo 'Yay!';
} else {
    echo 'No!';
}
person Zimzat    schedule 24.02.2011