如何让DataTable更好地序列化?

时间:2010-04-14 19:13:28

标签: c# xml serialization .net-2.0 datatable

我有以下代码将DataTable序列化为XML。

StringWriter sw = new StringWriter();
myDataTable.WriteXml(sw);

然而,这是有效的,序列化的XML看起来像这样:

<NameOfTable>
    <NameOfTable>
        <ID>1</ID>
        <Name>Jack</Name>
    </NameOfTable>
    <NameOfTable>
        <ID>2</ID>
        <Name>Frank</Name>
    </NameOfTable>
</NameOfTable>

是否仍然要将外部<NameOfTable>更改为<Records>,将内部<NameOfTable>更改为<Person>

2 个答案:

答案 0 :(得分:2)

这就是你所要求的。但我不认为它能做到你想要的。

    DataSet ds = new DataSet("Records");
    DataTable dt = new DataTable("Person");
    ds.Tables.Add(dt);
    dt.Columns.Add("ID");
    dt.Columns.Add("Name");

    dt.Rows.Add(new object[] { 1, "Jack" });
    dt.Rows.Add(new object[] { 2, "Frank" });

    StringWriter sw = new StringWriter();
    dt.WriteXml(sw);

    MessageBox.Show(sw.ToString());

答案 1 :(得分:0)

在将表写入XML之前,您可以更改数据表中的列名。不是最佳的,但它可以做你想要的。