使用XQuery将XML数据转换为CSV字符串

Ran*_*ddy 3 xml xquery osb

考虑以下XML:

<LIST>
    <Name>Jon</Name>
    <Name>Dan</Name>
    <Name>Bill</Name>
    <Name>Jack</Name>
</LIST>
Run Code Online (Sandbox Code Playgroud)

我需要像Jon,Dan,Bill,Jack使用XQuery 一样将输出作为字符串作为CSV .

我使用FLWOR表达式完成它normalize-space,然后用逗号替换空格.但是,我相信在XQuery中应该有更好的方法.

zep*_*lin 6

您可以使用string-join函数执行此操作:

string-join(//Name/text(),",")
Run Code Online (Sandbox Code Playgroud)

fn:string-join($ arg1 as xs:string*,$ arg2 as xs:string)as xs:string

返回通过使用$ arg2作为分隔符连接$ arg1序列的成员而创建的xs:字符串.

https://www.w3.org/TR/xpath-functions/#func-string-join