在这种情况下,我需要选择没有元数据元素的标识符 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'])]