Duplicar posible:
How to remove whitespace from an XmlDocument¿Hay alguna forma de guardar un XmlDocument * sin * sangría y retornos de línea?
Todos mis búsquedas han criado gente que pide lo contrario, pero tengo un archivo que crece en casi un 50% si se guarda con retornos de línea y sangría.
¿Hay alguna forma de evitar esto?
EDITAR no estoy hablando de la apertura un archivo, pero el ahorro de uno. Este código reproduce el 'bug' para mí:
var path = @"C:\test.xml";
System.IO.File.WriteAllText(path, "<root>\r\n\t<line></line>\r\n\t<line></line>\r\n</root>");
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.PreserveWhitespace = false;
doc.Load(path);
doc.PreserveWhitespace = false; //just in case!
doc.Save(path);
Un punto de interrupción en el medio muestra que es efectivamente doc.InnerXml <root><line></line><line></line></root>
, como se esperaba. Pero el contenido de test.xml
al final es:
<root>
<line>
</line>
<line>
</line>
</root>
Posible pseudo-duplicado de http://stackoverflow.com/ questions/2035252/how-to-save-xmldocument-with-multiple-indentation-settings –
(no completamente dup/lee vs write - * related * though) –