Comment créer un XmlDocument à l'aide de XmlWriter dans .NET?

Nombreux .NET des fonctions utilisation XmlWriter de sortie/générer le xml. De la sortie à un fichier/cordes/type de mémoire est très fonctionnement:

XmlWriter xw = XmlWriter.Create(PutYourStreamFileWriterEtcHere);
xw.WriteStartElement("root");
...

Parfois , vous avez besoin de manipuler le Xml résultant et voudrais donc de le charger dans un XmlDocument ou peut-être besoin d'un XmlDocument pour une autre raison, mais vous devez générer le XML à l'aide d'un XmlWriter. Par exemple, si vous appelez une fonction dans une 3e partie de la bibliothèque des sorties à un XmlWriter seulement.

L'une des choses que vous pouvez faire est d'écrire le code 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, c'est inefficace, tout d'abord vous sérialiser tous les xml info en chaîne de caractères, alors vous analyser la chaîne de nouveau pour créer le DOM.

Comment pouvez-vous point un XmlWriter de construire un XmlDocument directement?

  • +1 très bonne question, très utile.
InformationsquelleAutor Boaz | 2009-08-28