如何将两列.csv文件转换为xml文档

时间:2012-04-16 13:42:46

标签: .net xml csv

是否可以将.csv文件转换为.xml doc文件?如果有可能请任何人请帮助我,请。

2 个答案:

答案 0 :(得分:0)

为此您首先需要将.csv文件读入datatable,然后从datatable中编写xml文件。根据您的要求使用以下代码

public void CreateXmlFile()
{
    DataSet dataset = GetDataSet(@"D:\my_data.csv");
    dataset.Tables[0].WriteXml(@"D:\my_data.xml", true);

}
public DataSet GetDataSet(string filename)
{
    string connString =
      string.Format(
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Text;",
        Path.GetDirectoryName(filename));

    string cmdString =
      string.Format("SELECT * FROM {0}", Path.GetFileName(filename));

    DataSet dataset = new DataSet();
    using (OleDbConnection conn = new OleDbConnection(connString))
    {
        conn.Open();

        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(cmdString, conn);
        adapter.Fill(dataset, "Test");



        conn.Close();
    }
    return dataset;
}

希望这会帮助你...快乐的编码..

答案 1 :(得分:0)

尝试这样的事情:

public static void ConvertCSVToXML()
{
      String[] FileContent = File.ReadAllLines(@"G:\TEMP\test.csv");

      XElement xElm = new XElement("RootNodeName",
                          from items in FileContent
                          let fields = items.Split(',')
                          select new XElement("Item",
                             new XElement("ID", fields[0]),
                             new XElement("Name", fields[1]))
                          );

      XDocument xDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"), xElm);
      xDoc.Save(@"G:\Temp\test.xml");
 }