C#将CSV转换为XML输出

时间:2017-03-28 17:49:06

标签: c# xml csv

所以我知道这个主题有几个主题,但我试图实现以下代码并不断收到错误:

 using System.IO;
using System.Xml.Linq;
string[] lines = File.ReadAllLines(@"C:\CSVOutput.csv");

XElement Xml  = new XElement("Part",
    from str in lines
    let columns = str.Split(',')
    select new XElement("New Part",
        new XElement("Manufacturer", columns[0]),
        new XElement("MPN", columns[1]),
        new XElement("Description", columns[2]),
        new XElement("Quantity on Hand ", columns[3]),
        new XElement("U/M", columns[4]),
        new XElement("Cost", columns[5])
    )
);

System.Save(@"C:\XMLOutputFile.xml");

我得到的错误如下: Errors

我是否缺少导入语句或语法错误?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您需要将代码放在一个类中。 我建议您使用visual studio创建一个新的“控制台应用程序”,并在Program.cs中注意该结构

答案 1 :(得分:0)

如前所述,您的代码需要位于类和方法内(在该类中)。

这是一个非常简单的类,它包含一个Main方法:

using System.IO;
using System.Linq;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            string[] lines = File.ReadAllLines(@"C:\CSVOutput.csv");

            XElement xml = new XElement("Part",
                from str in lines
                let columns = str.Split(',')
                select new XElement("New Part",
                    new XElement("Manufacturer", columns[0]),
                    new XElement("MPN", columns[1]),
                    new XElement("Description", columns[2]),
                    new XElement("Quantity on Hand ", columns[3]),
                    new XElement("U/M", columns[4]),
                    new XElement("Cost", columns[5])
                )
            );

            xml.Save(@"C:\XMLOutputFile.xml");
        }
    }
}

创建一个控制台应用程序并将此示例粘贴到生成的Program类中。