2010-07-14 12 views

Respuesta

5

Puede utilizar XmlWriterSettings para controlar lo que sus caracteres de salto de línea son:

XmlWriterSettings xws = new XmlWriterSettings(); 
xws.NewLineChars = "\r\n"; 
using (XmlWriter xw = XmlWriter.Create("whatever.xml", xws)) 
{ 
    xmlDocumentInstance.Save(xw); 
} 

Lo que usted está utilizando para leer en su XML puede ser que la normalización de los finales de línea.

+0

Se sigue sin funcionar. Estoy usando XDocument.Load (ruta) para cargar el archivo. – Justin

+0

¿Necesita saltos de línea? ¿Podrías guardar y cargar el XML mientras ignoras completamente el espacio en blanco? Tal vez estamos tratando de resolver el problema equivocado. –

+0

Necesito los saltos de línea. El archivo xml con el que estoy trabajando es un tipo de archivo personalizado para el editor de texto en el que estoy trabajando. Pude resolver mi problema usando estas configuraciones: 'xws.NewLineChars = Environment.NewLine; xws.NewLineHandling = NewLineHandling.Replace; ' Sin embargo, todavía no entiendo lo que estaba pasando. – Justin

1

Si se establece la propiedad PreserveWhitespace en su objeto XmlDocument antes de llamar a Load() y Save() entonces esto no sucederá:

var doc = new XmlDocument(); 
doc.PreserveWhitespace = true; 
doc.Load("foo.xml"); 
... 
doc.Save("bar.xml"); // Line endings will not be altered 
Cuestiones relacionadas