writexml serialize net ejemplo convertir c# .net xml xml-serialization datatable

serialize - ¿Cómo puedo convertir una DataTable en un archivo XML en C#?



vb net serialize datatable to xml (3)

Quiero convertir una DataTable a un archivo XML en C #. ¿Cómo puedo hacer esto?


Puede usar el método writeXML para guardarlo como XML ( Fuente ).

También puede usar serialización / desirialización como se describe en la quinta publicación de este foro .


Puede usar el método DataTable.WriteXml .

Aquí hay un ejemplo;

¿Cómo puedo convertir mi datatable en XML usando C # 2.0?

string result; using (StringWriter sw = new StringWriter()) { dataTable.WriteXml(sw); result = sw.ToString(); }

Si realmente no necesita una cadena sino XML de solo lectura procesable, es una mejor idea usar MemoryStream y XPathDocument:

XPathDocument result; using (MemoryStream ms = new MemoryStream()) { dataTable.WriteXml(ms); ms.Position = 0; result = new XPathDocument(ms); }


Otra forma de hacerlo es agregar la tabla de datos al conjunto de datos y llamar a GetXml() en el conjunto de datos. Además, este conjunto de datos está equipado con WriteXml() y ReadXml() para escribir / leer el XML directamente en / desde una ruta o flujo de archivos.

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); }