Var*_*d.M 13 .net c# xml datatable xml-serialization
我想将DataTable转换为C#中的XML文件.我怎样才能做到这一点?
Son*_*nül 29
您可以使用DataTable.WriteXml方法.
这是一个例子;
string result;
using (StringWriter sw = new StringWriter()) {
dataTable.WriteXml(sw);
result = sw.ToString();
}
Run Code Online (Sandbox Code Playgroud)
如果您实际上不需要字符串但是只读,可处理的XML,那么使用MemoryStream和XPathDocument更好:
XPathDocument result;
using (MemoryStream ms = new MemoryStream()) {
dataTable.WriteXml(ms);
ms.Position = 0;
result = new XPathDocument(ms);
}
Run Code Online (Sandbox Code Playgroud)
完成此操作的另一种方法是将数据表添加到数据集并调用数据集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);
}
Run Code Online (Sandbox Code Playgroud)