使用 Xquery 将 XML 转换为 CSV

问题描述 投票:0回答:1

我需要将下面的 XML 转换为 CSV,这样对于空 xml 标记,CSV 文件中不能有任何逗号。

for example , consider below XML

<data>
<user>
<id>1</id>
<name>jaison</name>
<age>21</age>
</user>
<user>
<id>2</id>
<name>Monson</name>
<age></age>
</user>
</data>

expected csv:
id,name,age
1,jaison,21
2,Monson
csv xquery soa osb
1个回答
0
投票

一种方法是尝试向所有元素选择添加

[normalize-space()]
谓词,例如

for $b in $req//ns1:topLevelArray     
return            
  concat(escape-html-uri(
   string-join(($b/ns1:ID[normalize-space()],                                           
                $b/ns1:name[normalize-space()],                                           
                $b/ns1:PersonID[normalize-space()],                                           
                $b/ns1:age[normalize-space()]                                                              
               )/normalize-space(),                                         
               ",") 
    ), codepoints-to-string(10)) }
© www.soinside.com 2019 - 2024. All rights reserved.