-1

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

4

2 回答 2

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");
 }
于 2012-04-16T14:50:17.910 回答
0

为此,您首先需要将 .csv 文件读入数据表,然后从数据表中写入 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;
}

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

于 2012-04-16T14:31:34.713 回答