Я хочу преобразовать DataTable в XML файл на С#. Как я могу это сделать?
Как преобразовать DataTable в XML файл в С#?
Ответ 1
Еще один способ сделать это - добавить таблицу данных в набор данных и вызвать 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);
}
Ответ 2
Вы можете использовать метод DataTable.WriteXml.
Вот пример:
Как я могу преобразовать свой datatable в XML с помощью С# 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);
}
Ответ 3
Вы можете использовать метод writeXML
, чтобы сохранить его как XML (Источник).
Вы также можете использовать сериализацию/десриализацию, как описано в пятом сообщении этого forum.