Preservar los espacios en blanco durante la serialización
Actualización: November 2007
En este tema se describe cómo controlar los espacios en blanco a la hora de serializar un árbol XML.
Un caso muy común es aquel en el que se leen datos XML con sangría, se crea un árbol XML en memoria sin ningún nodo de texto con espacios en blanco (es decir, sin preservar los espacios en blanco), se realizan ciertas operaciones sobre el XML y éste se guarda con sangría. Si se serializa el XML con formato, sólo se preservan en el XML aquellos espacios en blanco más significativos. Éste es el comportamiento predeterminado en LINQ to XML.
Otro caso muy común es aquel en el que se lee y se modifica XML en el que ya se ha aplicado sangría intencionadamente. Es posible que no desee modificar esta sangría de ninguna forma. Para hacerlo en LINQ to XML, puede preservar los espacios en blanco a la hora de cargar o analizar el XML y si deshabilita el formato cuando serialice el XML.
Tratamiento de los espacios en blanco en los métodos que serializan árboles XML
Los siguientes métodos de las clases XElement y XDocument serializan un árbol XML. Es posible serializar un árbol XML en un archivo, un TextReader o un XmlReader. El método ToString serializa en una cadena..
Si el método no recibe un SaveOptions como argumento, entonces el método realizará un formato (sangría) del XML serializado. En ese caso, se descartarán todos los espacios en blanco del árbol XML que no sean significativos.
Si el método toma SaveOptions como argumento, se puede especificar que el método no dé formato (sangría) al XML serializado. En ese caso, se preservarán todos los espacios en blanco del árbol XML.