如何在C#中将DataTable转换为XML文件?

我想将DataTable转换为C#中的XML文件。 我怎样才能做到这一点?

另一种完成此操作的方法是将数据表添加到数据集并在数据集上调用GetXml() 。除了此数据集之外,还配备了WriteXml()ReadXml()用于直接向/从中写入/读取XML文件路径或流。

 DataSet ds = new DataSet(); ds.Tables.Add(dt1); // Table 1 ds.Tables.Add(dt2); // Table 2... ... string dsXml= ds.GetXml(); ... using (StreamWriter fs = new StreamWriter(xmlFile)) // XML File Path { ds.WriteXml(fs); } 

您可以使用DataTable.WriteXml方法。

这是一个例子;

如何使用C#2.0将我的数据表转换为XML?

 string result; using (StringWriter sw = new StringWriter()) { dataTable.WriteXml(sw); result = sw.ToString(); } 

如果您实际上不需要字符串而是只读的可处理XML,那么使用MemoryStream和XPathDocument是个更好的主意:

 XPathDocument result; using (MemoryStream ms = new MemoryStream()) { dataTable.WriteXml(ms); ms.Position = 0; result = new XPathDocument(ms); } 

您可以使用writeXML方法将其另存为XML( 源 )。

您也可以使用本论坛第五篇文章中描述的序列化/ desirialization。