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