2015-11-29 2 views
0

XML короче:XPath - Как сравнить строку и последовательность?

... 
<team> 
    <capitan>Zdeno Chara</capitan> 
    <alernativeCapitan> 
     <player>Zdeno Chara</player> <!-- NO Chara, he's the capitan obviously --> 
     <player>Someone Else</player> 
     <player>Someone Other</player> 
    </alernativeCapitan> 
</team> 
<team> 
    <capitan>Abc Edf</capitan> 
    <alernativeCapitan> 
     <player>Abc Xyz</player> 
     <player>Bac Edf</player> 
     <player>Abc 123</player> 
    </alernativeCapitan> 
</team> 
... 

Q: Как сравнить одну строку (CAPITAN) с последовательностью (alternativeCapitan) в XPath?

Я знал, что если capitain также написан как альтернативный капитан/игрок. Сравнение только в одной команде. (Если это так, то неправильно. Это все, неважно, будет ли результат логическим или числовым.)

Спасибо.

ответ

2

Вопрос не 100% ясно для меня, может быть, вы хотите что-то вроде этого:

//team[capitan=alernativeCapitan/player] 

xpathtester demo

выше XPath будет возвращать все team где capitan также указывается в элементе alternativeCapitan. Или, если вы хотите, наоборот, то есть вернуть все team где capitanне в alternativeCapitan:

//team[not(capitan=alernativeCapitan/player)] 
+1

Хм, как красиво просто. С булевым() совершенным. Я в основном пробовал построение horibble вроде - codepoint-equals и strings для кодовых страниц ... и сравнить fuction. Больше года я не видел xpath :) Thx. –

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