我有一个html结构,例如下面的简化版本。我想从xpath内容中排除yarpp相关的div。以下是我现在正在使用的内容:
//div[@class='entry-content']
我如何排除与yarpp相关的div?
html结构
<div class="entry-content">
<div class="yarpp-related">
</div>
</div>
答案 0 :(得分:1)
//div[@class='entry-content'][not(contains(div/@class, 'yarpp-related'))]
或
//div[@class='entry-content']/div[not(contains(@class, 'yarpp-related'))]
答案 1 :(得分:0)
XPath用于选择,而不是操纵。您可以选择XML文档中存在的节点,但不能转换这些节点。
在您的情况下,如果您的XML文档包含此节点,
<div class="entry-content">
<div class="yarpp-related">
</div>
</div>
您可以通过entry-content
选择div
//div[@class='entry-content']
,但所选节点将显示在源XML中,即 with 孩子yarpp-related
div
节点。
如果您想操纵或转换通过XPath选择的节点(以排除其子元素),您必须使用托管语言(XSLT,Python,Java,C#等)来操作选择。