我需要將CSV轉換爲XML文檔。到目前爲止,我看到的例子都顯示瞭如何在CSV中使用固定數量的列來完成此操作。將CSV文件轉換爲XML
我有這個迄今爲止,使用LINQ:
String[] File = File.ReadAllLines(@"C:\text.csv");
String xml = "";
XElement top = new XElement("TopElement",
from items in File
let fields = items.Split(';')
select new XElement("Item",
new XElement("Column1", fields[0]),
new XElement("Column2", fields[1]),
new XElement("Column3", fields[2]),
new XElement("Column4", fields[3]),
new XElement("Column5", fields[4])
)
);
File.WriteAllText(@"C:\xmlout.xml", xml + top.ToString());
這是列的固定金額,但我.CSV具有不同數量的每一行的列。
根據每個.CSV行中有多少個單詞(列),你如何適應某種循環?
日Thnx
非常接近。但是我需要在每行分開的前面加上一個單詞; 因此,輸出XML會是這個樣子:-
字 字 -
字 -
字 字 字 字 我幾乎與我貼的代碼了,但我只拿到每行第一個字。所以我需要添加一些循環,爲a中的每行添加一個Column元素; –
Soeren
2010-06-18 13:13:30
@Soeren:那不是我的解決方案嗎?我已經添加了一個澄清示例。 – dtb 2010-06-18 18:11:36
這很好。 line.Split(';')部分不在第一個示例中,我試圖自己添加它。我只是不知道如何添加它。我需要再研究一下這個LINQ的東西。謝謝你的幫助。 – Soeren 2010-06-18 19:06:03