De nombreuses fonctions .NET utilisent XmlWriter pour générer/générer des fichiers XML. Sortie à un fichier/string/mémoire est une opération très:Comment créer un XmlDocument en utilisant XmlWriter dans .NET?
XmlWriter xw = XmlWriter.Create(PutYourStreamFileWriterEtcHere);
xw.WriteStartElement("root");
...
, parfois vous avez besoin de manipuler le Xml résultant et serait donc à le charger dans un XmlDocument ou peut-être besoin d'un XmlDocument pour une autre raison, mais vous doit générer le XML en utilisant un XmlWriter. Par exemple, si vous appelez une fonction dans une bibliothèque tierce qui renvoie uniquement à un XmlWriter.
L'une des choses que vous pouvez faire est d'écrire le xml à une chaîne, puis le charger dans votre XmlDocument:
StringWriter S = new StringWriter();
XmlWriter xw = XmlWriter.Create(S);
/* write away */
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(S.ToString());
Cependant cela est inefficace - d'abord vous sérialiser toutes les informations XML dans une chaîne, puis vous allez à nouveau analyser la chaîne pour créer le DOM. Comment pouvez-vous pointer un XmlWriter pour construire un XmlDocument directement?
Comment pouvez-vous pointer un XmlWriter directement pour construire un XmlDocument?
+1 Très bonne question, très utile. – harpo