2015-09-23 4 views
0

Использование регулярных HTML дал что-то вроде этого:Синтаксический SOAP с XPaths

<DIV> 
 
    <DIV> 
 
    Tony 
 
    </DIV> 
 
    <DIV> 
 
    52 
 
    </DIV> 
 
</DIV>

я могу найти XPath моего имени, используя ниже XPath: -

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

Но как вы делаете это с помощью мыла xpath? У нас есть класс под названием «Метод», и когда вы выполняете, вы говорите (метод m) m.execute(), а затем m.getElementText(xpath,substitutions), где подстановки имеют замены для элемента (например, ns5). Я думаю, что они были изготовлены на заказ, но вопрос по-прежнему относится к xpaths.

Я знаю только то, как использовать статические XPaths как *//{0}:Person/{0}:Age.* мне интересно, как я могу указать что-то вроде *//{0}:contains(@{0}:name,'Tony')/..//{0}:Age* (то есть поиск элемента с определенным значением).

Это было бы что-то вроде

<ns5:person> 
 
    <ns5:name>Tony</ns5:name> 
 
    <ns5:Age>52</ns5:Age> 
 
</ns5:person>> 
 

Как я мог это сделать? Благодаря

ответ

0

Учитывая, что выражение //{0}:Person/{0}:Age работало, я думаю, что вложение в предикате как следующий будет также работать:

//{0}:Person[contains({0}:name,'Tony')]/{0}:Age 
+0

ли это возможно? Используйте и? Это должно было бы просто найти элемент Person: // {0}: Person [содержит ({0}: имя, 'Tony') И содержит ({0}: age, '52 ')]? Думаю, я могу попробовать – Tony

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