2012-02-01 3 views
3

У меня есть XML, который выглядит следующим образом:Условные узлы для запятой с символом Xpath?

<node1> 
<item>hello</item> 
<item>world</item> 
</node1> 

Я хотел бы, чтобы это выход выполняется с помощью выражения XPath:

hello, world 

Возможно ли это с помощью XPath 1.0? Я оглядывался, но ничего не мог найти.

Спасибо, Cinegod

+0

XPath 1,0 или 2,0? Кроме того, действительно ли вы хотите ограничить обсуждение XPath, или можете ли вы включить контекстную среду, такую ​​как XSLT или .NET? – LarsH

+0

Хорошая точка. Меня интересовал XPath 1.0. – Cinegod

ответ

3

В XPath 1.0 вы можете сделать это с помощью concat(), например .:

concat(node1/item[1], ", ", node1/item[2]) 
7

XPath 2.0 может сделать string-join(/node1/item, ', '). С XPath 1.0 вы не можете этого сделать, вам нужно будет использовать язык хоста, такой как XSLT, или процедурный язык, отображающий API XPath для итерации по узлам и конкатенации значений.

+1

Ах, избили меня. :-) +1 – LarsH

+0

Спасибо за быстрый ответ Мартин! – Cinegod

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