XPath: содержит (./ text (), 'str') будет смотреть только на первый текстовый потомок - PullRequest
3 голосов
/ 19 сентября 2011

Я пытаюсь написать запрос XPath, который выберет элемент, текст которого содержит данную строку:

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

Таким образом, следующий запрос не будет совпадать

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

Но этот будет, индекс текстового узла явно указан:

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

как мне написать запрос, который будет соответствовать любому текстовому потомку?

1 Ответ

5 голосов
/ 19 сентября 2011
//div[text()[contains(., 'Text2')]]/strong/text()
...