xpath:在文本之后挑选标记

时间:2013-02-28 03:41:34

标签: xpath

如果通过xpath选择strong文本之后的baz标记,将如何?

<p>
<br>foo<strong>this foo</strong>

<br>bar<strong>this bar</strong>

<br>baz<strong>this baz</strong>

<br>qux<strong>this qux</strong></p>

显然以下不起作用....

//p[text() = 'baz']/following-sibling::select[1]

1 个答案:

答案 0 :(得分:3)

试试这个

//p/text()[. = 'baz']/following-sibling::strong[1]

在这里演示 - http://www.xpathtester.com/obj/b67bad4d-4d38-4e2d-a3df-b7e5a2e9f286

此解决方案依赖于文本节点周围没有空格。如果开始使用缩进或其他空白字符,则需要切换到使用以下内容

//p/text()[normalize-space(.) = 'baz']/following-sibling::strong[1]