承认这样的HTML:
<p>hello<p>
<p>
<table>
<tbody>
<tr>
<td>
<p>is it me you're looking for</p>
</td>
</tr>
<tr>
<td>
<p>can you have me too?</p>
</td>
</tr>
</tbody>
</table>
</p>
我想要的是得到我的P元素的innerText,但我在表格部分遇到了麻烦。当我使用一个循环时,经历所有P我有4个innerText:
在这种情况下,我不想让P围绕桌子,因为我已经通过在TD内部循环他的后代孩子来获得它们。 如果有其他P作为他的孩子,我如何选择具有Agility pack的P元素才能获得P元素? (所以循环上的结果只有1,3,4)?
我实际上使用:
获取P元素HtmlDocument html = new HtmlDocument();
var pTag = html.DocumentNode.SelectNodes(".//p");
答案 0 :(得分:1)
XPath .//p[not(descendant::p)]
将从您的示例中获得1,3和4。
它会找到所有p
元素,然后跳过那些具有p
后代的元素。