2017-09-13 32 views
0

我有一個txt文件,它是純數據(沒有標記語言)是這樣的:如何調換使用Visual Studio C#中的文本數據

A 3 8 7 
d E 9 S 

現在我需要使用Visual Studio C#加載它與此轉成另一種txt文件,如:

A d 
3 E 
8 9 
7 S 

所有分區都TAB沒有空間

非常感謝!

+0

爲什麼使用XSLT如果它不是XML?! –

+0

我正在使用XSLT將複雜的XML轉換爲純數據XML,但我需要轉置結果,因此我在考慮使用另一個XSLT來執行此操作。 – David4866

+0

將它轉換爲已有的XSLT。 –

回答

0

試試這個XQuery中的3.1:

declare namespace array = "http://www.w3.org/2005/xpath-functions/array"; 
let $in := unparsed-text-lines('test.txt') ! array{tokenize(.)} 
return fold-left(tail($in), head($in), array:for-each-pair(?, ?,   
     function($x, $y){$x || ' ' || $y}))?* => string-join('
') 

這樣做的大部分是純的XPath 3.1,所以你可以,如果這就是你想要做什麼它集成到XSLT樣式表。

它是如何工作的?

首先讀取輸入文件的行,並標記每行以創建$ in,作爲包含輸入行的數組序列。

然後,對於每對行,依次連接相應的成員對以創建空格分隔的字符串。使用結果的字符串數組,首先轉換爲一串字符串(使用「?*」),然後以換行符作爲分隔符以此順序加入字符串。

您可以通過安裝Saxon(需要Saxon-PE或更高版本)從C#運行此操作。

相關問題