无法从php

时间:2017-11-19 16:11:37

标签: php html xpath

我使用xpath从网站中提取数据,但我有一个XPath选择器的问题,假设我有这个HTML代码:

<div id="_parent">
  <div class="my">
      Hi!
      <p>I am a child!</p>
      <span class="someclass">I am a <b>span</b> child!</span>
  </div>
</div>

我得到了什么:

Hi!
I am a child!
I am a span child!

我应该得到什么:

<div class="my">
    Hi!
    <p>I am a child!</p>
    <span class="someclass">I am a <b>span</b> child!</span>
</div>

我当前的xpath php代码

$xpath = new DOMXPath($doc);
$entries = $xpath->query("//div[@class='my']");

1 个答案:

答案 0 :(得分:1)

在Chrome中,我打开控制台并在其中输入:

document.evaluate( "//div[@class='my']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue;

然后我得到的是:

<div class="my">
    Hi!
    <p>I am a child!</p>
    <span class="someclass">I am a <b>span</b> child!</span>
</div>

所以XPath表达式实际上按预期工作。所以我推断,你应用XPath表达式的方式一定是错的。但是,您没有向我们展示应用XPath表达式的代码?