我需要在这种情况下选择6789没有元数据元素的标识符
<dt class="document-metadata">Metadata</dt>
在dd @ class = document-manifest兄弟之下,可以使用类或文本检查,因为它不会改变。
<dt class="document-manifest">
<a class="document" href="/Document/12345">12345</a>
</dt>
<dd class="document-manifest">
<dl class="document-manifest-items">
<dt class="document-summary">Document Summary</dt>
<dd class="document-summary">
<dl class="document-summary">
<dt class="document-metadata">MetaData</dt>
</dl>
</dd>
</dl>
</dd>
<dt class="document-manifest">
<a class="document" href="/Document/6789">6789</a>
</dt>
<dd class="document-manifest">
<dl class="document-manifest-items">
<dt class="document-summary">Document Summary</dt>
<dd class="document-summary">
<dl class="document-summary">
</dl>
</dd>
</dl>
</dd>
在这种情况下,它应该只选择6789标识符。
我尝试过很多东西似乎无法做到。
如果它具有元数据
,那么类似以下内容的工作似乎会返回id//dt[@class='document-manifest']/a[not(../dd/dl/dd/dl/dt[@class='document-metadata'])]
答案 0 :(得分:1)
这似乎有用,虽然
可能是更好的方法//dt[@class='document-manifest']/a[../following-sibling::*[1]/dl/dd[@class='document-summary']/dl/not(dt='MetaData')]