Как я могу преобразовать DataTable в файл XML в C #? - PullRequest
11 голосов
/ 10 марта 2011

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

Ответы [ 3 ]

28 голосов
/ 10 марта 2011

Вы можете использовать DataTable.WriteXml Метод.

Вот пример;

Как я могу конвертироватьмой набор данных в 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);
}
9 голосов
/ 10 марта 2011

Вы можете использовать метод writeXML, чтобы сохранить его как XML ( Источник ).

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

3 голосов
/ 28 июня 2016

Еще один способ сделать это - добавить таблицу данных в набор данных и вызвать 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);
}
...