我的目标是使用 Saxon 从 XML 生成 CSV 文件。在 Saxon (PE, 9.7.0.15) 中运行下面的(简化的!)xquery 时,在第一条结果行之后的每一行的结果中,都会添加一个额外的空格:
declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:method "text";
let $document := <A>
<B><C>1</C><D>2</D></B>
<B><C>3</C><D>4</D></B>
<B><C>5</C><D>6</D></B>
</A>
for $b in $document/B
return string-join( for $x in $b/* return $x, "," ) || "
"
结果:
1,2
3,4
5,6
我只是无法以“干净”的方式删除这个额外的空间(即:没有对结果进行后处理)。
知道如何生成“干净”的 csv(文本)文件吗?