2010-04-14 45 views
1

我有以下代码将DataTable序列化为XML。如何让DataTable更好地序列化?

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

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

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

你错了。你的代码正是我想要的。谢谢。 – AngryHacker 2010-04-14 20:33:56

0

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