我想将DataTable转换为C#中的XML文件。我怎么能这样做?
答案 0 :(得分:28)
您可以使用 DataTable.WriteXml 方法。
这是一个例子;
<强> How can i convert my datatable into XML using C# 2.0? 强>
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);
}
答案 1 :(得分:9)
答案 2 :(得分:3)
完成此任务的另一种方法是将数据表添加到数据集并调用数据集上的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);
}