1

DOMTXpath->query が実際にデータを返すかどうかを評価するにはどうすればよいですか。今、私はやっています ($xml は DOMXpath オブジェクトです):

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

しかし、$xpath の結果がノードにならない場合、データは何も出力されません。私は次のようなものを試しました:

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

しかし、それはうまくいかないようです。クエリが実際に一致するノード (この場合は属性) を返すかどうかをテストするにはどうすればよいですか?

4

1 に答える 1

5

query() 関数から返された長さパラメーターを確認してください。xpath->query() はDOMNodeListを返します。

$nodeList = $xpath->query();
if ($nodeList->length > 0) {
    echo 'Yay!';
} else {
    echo 'No!';
}
于 2011-02-24T18:31:31.403 に答える