将逗号分隔的字符串转换为多个XML元素

时间:2016-01-14 21:31:11

标签: xml xpath

我需要一个命令来执行相反的操作:How to get comma-separated string values of XML elements?

示例

我有以下XML表达式

<videos>
<video>
<keywords>tag1, tag2, tag3</keywords>
</video>
</videos>

在XPath的帮助下,我需要以某种方式转换它

<keywords>tag1</keywords>
<keywords>tag2</keywords>
<keywords>tag3</keywords>

的结果
  

XPath / videos / video / keywords

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

XPath用于选择XML; XSLT用于转换XML。这实际上是XSLT而不是XPath的任务,因为您正在寻求将XML转换为新的,而不是选择已存在的XML。

如果您对选择以逗号分隔的字符串值而不将其包含在keywords元素中感到满意,

tag1
tag2
tag3

然后你可以使用这个XPath 2.0表达式:

tokenize(/videos/video/keywords, ',\s*')