我使用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']");
答案 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表达式的代码?