1
$doc = new DOMDocument();
$doc->loadHTML($htmlcode);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("//*[@id='detail']/div[1]/h3/text()");

return var_dump($elements);

我如何真正正确地检索 xpath?它回来了

object(DOMNodeList)#4 (1) {
  ["length"]=>
  int(1)
}

当我做一个 var_dump($doc); 它包含 html 为 ["textContent"]=> string(22304)

我使用谷歌浏览器复制了xpath

4

1 回答 1

1

不可能像您期望的那样内省DOMNodeList使用。var_dump()您必须访问列表项0及其节点值:

$elements = $xpath->query("//*[@id='detail']/div[1]/h3/text()");
if($elements->length === 1) {
    echo $elements->item(0)->nodeValue;
} else {
   ...
}
于 2013-07-03T11:38:07.563 回答