Muchas funciones .NET usan XmlWriter para generar/generar xml. Enviar a un archivo/cadena/de memoria es una operación misma:¿Cómo crear un XmlDocument usando XmlWriter en .NET?
XmlWriter xw = XmlWriter.Create(PutYourStreamFileWriterEtcHere);
xw.WriteStartElement("root");
...
A veces, es necesario manipular el XML resultante y por lo tanto desea cargar en un XmlDocument o que necesiten un XmlDocument por alguna otra razón, pero debe generar el XML usando un XmlWriter. Por ejemplo, si llama a una función en una biblioteca de terceros que solo imprime en un XmlWriter.
Una de las cosas que puede hacer es escribir el código XML en una cadena y luego cargarla en su XmlDocument:
StringWriter S = new StringWriter();
XmlWriter xw = XmlWriter.Create(S);
/* write away */
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(S.ToString());
Sin embargo, esto es ineficiente - primera serializar toda la información XML en una cadena, a continuación, analiza la cadena de nuevo para crear el DOM.
¿Cómo se puede apuntar un XmlWriter para construir un XmlDocument directamente?
+1 Gran pregunta, muy útil. – harpo