2016-09-09 4 views
0

Пытается выбрать //site/name из нижеприведенного XML, где //site/homepage совпадает с //result/url. Немедленно после XPath работает для жестко закодированного //site/homepage, но я бы хотел использовать селектор для проверки равенства, если это возможно.Выберите узел, где текст равно тексту другого узла

//site[homepage/text() = "google.com"]/name/text() 

XML, который я пытаюсь сопоставить.

<?xml version="1.0" encoding="UTF-8"?> 

<root> 
    <site> 
    <homepage>google.com</homepage> 
    <name>Google</name> 
    </site> 
    <site> 
    <homepage>www.bing.com</homepage> 
    <name>Bing</name> 
    </site> 
    <result> 
    <name>First Result</name> 
    <url>google.com</url> 
    </result> 
    <result> 
    <name>Second Result</name> 
    <url>www.bing.com</url> 
    </result> 
</root> 
+3

Перечислите * точно * XML узлы, которые вы хотите выбрать из вашего примера XML. Сделайте это как список XML-узлов результата, а не как двусмысленные частичные выражения XPath. Благодарю. – kjhughes

ответ

-1

Вы сказали

Попытка выбрать // сайт/имя из приведенного ниже XML, где // сайт/домашнюю страницу такой же, как // результат/URL

давайте перевести его относительно

Выберите имя, которые являются потомком сайта, для которых домашней равно в URL, который в любом результате элемента

//site[homepage = //result/url]/site 
Смежные вопросы