2017-06-03 54 views
3

考慮下面的XML:轉換XML數據到CSV字符串使用XQuery

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

我需要輸出使用XQuery字符串作爲一個CSV像Jon,Dan,Bill,Jack

我已經使用FLWOR表達式和normalize-space完成了它,然後用逗號替換空格。不過,我相信在XQuery中應該有更好的方法來實現它。

回答

5

可以使用string-join功能來做到這一點:

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

FN:字符串連接(如XS ARG1 $:字符串*,$ ARG2爲XS:字符串)爲XS:字符串

返回通過使用$ arg2作爲分隔符連接$ arg1序列的成員創建的xs:string。

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

+1

'/文()'是無關這裏。請參閱https://developer.marklogic.com/blog/text-is-a-code-smell。 – joewiz