XmlTextWriter en un StringBuilder

En nuestro artículo sobre el XmlTextWriter, hablamos de cómo fabricar un fichero XML para finalmente guardar éste en un fichero.

Sin embargo, puede darse la ocasión en que no queramos que el XML resultante se guarde en un fichero, sino que puede que queramos guardarlo como un String... y obviamente, para trabajar con Strings lo mejor es el StringBuilder.

Pues entonces estamos de suerte, porque hacer lo que queremos es realmente sencillo. Primero tenemos que importar los namespaces System.XML, System.Text y System.IO, y luego usar un código como:

            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            using (XmlTextWriter writer = new XmlTextWriter(sw))
            {
                // Escribimos el fichero XML aquí. Podéis aprender a escribir ficheros XML desde el artículo XmlTextWriter.
            }

            return sb.ToString();


Como veis, no hay más que inicializar un StringWriter con un StringBuilder, y posteriormente inicializar un XmlTextWriter con un StringWriter. El resultado final quedará guardado en el StringBuilder.