Je veux convertir un DataTable en un fichier XML en C #. Comment puis-je faire ceci?
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);
}
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);
}