Как преобразовать файл DataTable в XML в C#?

Я хочу преобразовать DataTable в XML-файл в C#. Как я могу это сделать?

3 ответов


другой способ сделать это-добавить таблицу данных в dataset и вызвать GetXml() в наборе данных.В дополнение к этому dataset оснащен 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 метод.

вот пример:

как я могу преобразовать свой datatable в XML с помощью 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);
}

можно использовать writeXML метод сохранения в формате XML (источник).

вы также можете использовать сериализацию / десириализацию, как описано в пятом посте этого форуме.