2011-03-10 23 views

Respuesta

2

Otra forma de hacer esto es mediante la adición de la tabla de datos al conjunto de datos y llamar a la GetXml() en la adición dataset.In a esta base de datos está equipado con el WriteXml() y ReadXml() para escribir/leer el código XML directamente a/desde un archivo camino o corriente

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

Puede usar DataTable.WriteXml Método.

Aquí hay un ejemplo;

How can i convert my datatable into XML using C# 2.0?

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

Si no necesita realmente una cadena, pero de sólo lectura, XML procesable, es una mejor idea de utilizar MemoryStream y XPathDocument:

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

Gracias. El primer método incluye una fila con etiquetas TABLE. ¿Hay alguna forma de que pueda reemplazarlo con etiquetas personalizadas, como ROW? Por supuesto, podría buscar la cadena en sí y reemplazar TABLE con ROW, pero quiero un enfoque diferente. – Steam

9

Puede utilice el método writeXML para guardarlo como XML (Source).

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

Cuestiones relacionadas