我需要选择包含带有xpath的<a>
标记的文本,但我无法找到正确的方法来执行此操作。结果应该是“图片标题和链接”。并且应该保留锚链接。
<p class="caption"><img src="...">
Image Caption <a href="...">And A Link</a>.
</p>
我试过的最后一个表达式是
//*[preceding-sibling::img]
但无论我怎么做,我只需从<a>
标签中选择外部或仅选择文本。
答案 0 :(得分:0)
您无法选择不存在的内容。此HTML中不存在LazyList
。
"Image Caption And A Link."
你能得到的最好的是一个单独节点的列表 - 看起来你想要<p class="caption"><img src="...">
Image Caption <a href="...">And A Link</a>.
</p>
内的所有节点,除非它是p.caption
。这可行:
img
并返回三个节点:
//p[contains(@class, 'caption')]/node()[not(self::img)]
为防止因部分匹配而导致CSS类中的误报匹配,请使用
['\nImage Caption ', <a href="...">And A Link</a>, '.\n']