web-dev-qa-db-fra.com

Comment puis-je convertir un DataTable en un fichier XML en C #?

Je veux convertir un DataTable en un fichier XML en C #. Comment puis-je faire ceci?

13
Vara Prasad.M

Une autre façon de procéder consiste à ajouter la table de données à l'ensemble de données et à appeler la GetXml() sur l'ensemble de données. En plus de cet ensemble de données est équipé de la fonction WriteXml() et ReadXml() pour écrire/lire le XML directement vers/depuis un chemin de fichier ou un flux.

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

Vous pouvez utiliser la méthode DataTable.WriteXml.

Voici un exemple;

Comment puis-je convertir ma table de données en XML en utilisant C # 2.0?

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

Si vous n'avez pas réellement besoin d'une chaîne mais d'un XML traitable en lecture seule, il est préférable d'utiliser MemoryStream et XPathDocument:

XPathDocument result;
using (MemoryStream ms = new MemoryStream()) {
dataTable.WriteXml(ms);
ms.Position = 0;
result = new XPathDocument(ms);
}
30
Soner Gönül

Vous pouvez utiliser la méthode writeXML pour l'enregistrer au format XML ( Source ).

Vous pouvez également utiliser la sérialisation/désirialisation comme décrit dans le cinquième article de ce forum .

9
Ryan Castillo