2010-07-14 8 views

risposta

5

È possibile utilizzare XmlWriterSettings per controllare ciò che i tuoi personaggi linea-break sono:

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

Qualunque cosa si sta utilizzando per leggere in XML potrebbe normalizzare le terminazioni di linea.

+0

E ancora non funziona. Sto usando XDocument.Load (percorso) per caricare il file. – Justin

+0

Hai bisogno di interruzioni di linea? Potresti semplicemente salvare e caricare l'XML ignorando completamente gli spazi bianchi? Forse stiamo cercando di risolvere il problema sbagliato. –

+0

Ho bisogno delle interruzioni di riga. Il file xml con cui sto lavorando è un tipo di file personalizzato per l'editor di testo su cui sto lavorando. Sono stato in grado di risolvere il mio problema utilizzando queste impostazioni: 'xws.NewLineChars = Environment.NewLine; xws.NewLineHandling = NewLineHandling.Replace; ' Tuttavia, non riesco ancora a capire cosa stava succedendo. – Justin

1

Se si imposta la proprietà PreserveWhitespace sul vostro oggetto XmlDocument prima di chiamare Load() e Save() allora questo non accadrà:

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