XPath:contains(./ text(),'str')只会查看第一个文本后代

时间:2011-09-19 11:13:00

标签: xml text xpath contains

我正在尝试编写一个XPath查询,它将选择一个元素,其文本包含给定的字符串:

<div>Text1<strong>censored</strong>Text2</div>

所以以下查询不匹配

//div[contains(./text(), 'Text2')]/strong/text()

但是这个,文本节点索引是明确说明的:

//div[contains(./text()[2], 'Text2')]/strong/text()

如何编写一个匹配任何文本后代的查询?

1 个答案:

答案 0 :(得分:5)

//div[text()[contains(., 'Text2')]]/strong/text()