2011-12-31 2 views

ответ

4

Использование:

(//*[text() 
     [contains(., 'My String')] 
    ] 
)[1] 

Это выбирает первый элемент в документе XML, который имеет дочерний узел текст, содержащий строку "My String".

Если это гарантирует, что только один такой элемент существует, приведенное выше выражение можно упростить:

//*[text() 
     [contains(., 'My String')] 
    ] 

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

(//*[contains(., 'My String')])[1] 

соответственно:

//*[contains(., 'My String')] 
+0

Только то, что мне нужно, спасибо! – TMichel

+0

@TMichel: Добро пожаловать. Пожалуйста, подумайте о принятии этого ответа (нажмите на контрольную отметку рядом с ответом). –

1

Попробуйте маршрут как //text()[contains(., 'My String')]/...

+0

Мартин, как правило, есть выражение, которое не содержит обратную ось. –

Смежные вопросы