如何让DataTable更好地序列化?

发布于 2024-08-29 02:19:00 字数 636 浏览 3 评论 0原文

我有以下代码将 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>

是否有办法将外部 更改为 和内部 < code>

I have the following code that serializes a DataTable to XML.

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

And this works, however, the serialized XML looks like this:

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

Is there anyway to change the outer <NameOfTable> to, say, <Records> and the inner <NameOfTable> to <Person>?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

腹黑女流氓 2024-09-05 02:19:00

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

    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());

This does what you asked. But I don't think it does what you want.

    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());
赢得她心 2024-09-05 02:19:00

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

Before you write the table to XML you could change the column names in the data table. Not optimal but it would do what you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文