我有一个看起来像这样的XML:
<Student>
<SSN>630-44-3532</SSN>
<Name>
<firstName>Ali</firstName>
<lastName>Daria</lastName>
</Name>
...
<Email>Ali@yahoo.com</Email>
<Email>Ali@hotmail.com</Email>
</Student>
由于我们有多个节点,当我执行XQuery以获取整个电子邮件信息时,用逗号分隔,我不知道该怎么做。
这是预期的输出:
<email> Alexander@yahoo.com, Alexander@gmail.com </email>
答案 0 :(得分:2)
使用强>:
/*/Email/concat(.,
if(not(position()=last()))
then ', '
else ()
)
答案 1 :(得分:1)
使用XPath 2.0 / XQuery 1.0 fn:string-join()功能。
来自http://www.w3.org/2005/xpath-functions/#string-join的简要说明
串联接
fn:string-join($arg1 as xs:string*, $arg2 as xs:string) as xs:string
摘要:返回创建的
xs:string
通过连接成员 使用$arg1
作为$arg2
序列 分隔器。如果$arg2
的值是 零长度字符串,然后是$arg1
的成员被连接起来 没有分隔符。