如何使用特定文本为另一个元素编写一个xpath表达式?

时间:2012-05-01 16:53:16

标签: xpath

如何构建一个xpath表达式,我想在其中得到< p> < p>之后的元素带孩子的元素< strong>元素与文本,“关于此事件:”。

换句话说,什么路径表达式会给我“< p>” < P>之后的“Hello”文本的元素与< Strong>下面的文字......

<p>
    <strong>About this event:</strong>
    …
</p>
<p>Hello</p>

? -

3 个答案:

答案 0 :(得分:2)

//p[strong[.='About this event:']]/following-sibling::p

//p[strong[.='About this event:']]/following-sibling::p[.='Hello']

答案 1 :(得分:1)

试试这个:

//p[normalize-space(strong)='About this event:']/following-sibling::p

您还可以通过添加p

将其缩小到第一个[1]
//p[normalize-space(strong)='About this event:']/following-sibling::p[1]

答案 2 :(得分:0)

我相信这应该是可行的。以下是Perl xpath工具的输出:

so zacharyyoung$ xpath so.xml '//p[strong = "About this event:"]/following-sibling::p[1]'
Found 1 nodes:
-- NODE --
<p>Hello</p>

XPath是//p[strong = "About this event:"]/following-sibling::p[1]