我正在使用Agility Pack重新格式化HTML文档,但我遇到了对XPath理解的限制。
在我正在使用的文档中,以下是一个常见的构造:
128 2
这是这样构建的:
128<img src="" style="display: none;" alt="^(" /><sup>2</sup><img src="" style="display: none;" alt=")" />
因此,当您选择并将其复制到剪贴板时,它将变为:
128 ^(2)
现在,我想使用XPath删除这些img
标记。
这是我到目前为止所做的:
//img[@alt='^(' ???/sup]
如何根据直接兄弟的存在选择元素?
答案 0 :(得分:2)
//img[@alt='^(' and following-sibling::*[1][self::sup]]
那是(而且,我猜,在这里):
//img
img
(任何地方)......
[@alt='^(' and ... ]
...其alt
属性为'^('
并且......
following-sibling::*[1]
......他的第一个兄弟姐妹......
[self::sup]
...可以称自己为sup
。
答案 1 :(得分:0)
离开我的头顶,使其成为复合状态。类似的东西:
//img[@alt='^(' ???/sup AND preceding-sibling::*[1] AND following-sibling::*[1]]