問題描述
換行在 XQuery 的行尾留下額外的空間 (Line feed leaving extra space at end of line in XQuery)
我有一個應用程序,我在其中創建一個 .csv 文件,然後從 .csv 文件創建一個 .xlsx 文件。我現在遇到的問題是 .csv 中行的末尾有一個尾隨空格。我的數據庫在 MarkLogic 中,我正在使用自定義 REST 端點來創建它。我創建 .csv 文件的代碼是:
document{($header‑row,for $each in $data‑rows return fn:concat(' ',$each))}
我在標題行中傳遞,然後在每個數據行的開頭傳遞一個回車符和一個換行符。我這樣做是為了將 cr/lf 放在標題的末尾,然後是除最後一行之外的每一行。我知道我的數據行最後沒有空間。我試圖規範化 $each 周圍的空間,並且額外的空間仍然存在。它似乎與換行有關。關於擺脫該空間的任何建議?
當前輸出示例:
參考解法
方法 1:
You are creating a document that is text()
node from a sequence of strings. When those are combined to create a single text()
, they will be separated by a space. For instance, this:
text{("a","b","c")}
will produce this:
"a b c"
Change your code to use string‑join()
to join your $header‑row
and sequence of $data‑rows
string values with the
separator:
document{ string‑join(($header‑row, $data‑rows), " ") }
(by nobleb、Mads Hansen)