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

Convert XML data to CSV String with XQuery

考虑以下 XML:

<LIST>
    <Name>Jon</Name>
    <Name>Dan</Name>
    <Name>Bill</Name>
    <Name>Jack</Name>
</LIST>

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

我是使用 FLWOR 表达式和 normalize-space 完成的,然后用逗号替换空格。但是,我相信在 XQuery 中应该有更好的方法来做到这一点。

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

string-join(//Name/text(),",")

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

Returns a xs:string created by concatenating the members of the $arg1 sequence using $arg2 as a separator.

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