Laden...

Xml Ausgabe formatieren

Erstellt von IgG vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.798 Views
I
IgG Themenstarter:in
111 Beiträge seit 2006
vor 17 Jahren
Xml Ausgabe formatieren

Ich habe ein XmlDocument namens xmlDocument.

Dieses würde ich gerne in eine Datei schreiben. Das funktioniert auch - nur leider ohne Zeilenumbrüche und Einrückungen:


XmlWriterSettings xmlSettings = new XmlWriterSettings();
xmlSettings.ConformanceLevel = ConformanceLevel.Auto;
xmlSettings.Indent = true;
xmlSettings.OmitXmlDeclaration = true;
xmlSettings.NewLineOnAttributes = true;

using (XmlWriter writer = XmlWriter.Create(@"c:\test.xml", xmlSettings)))
{
                writer.WriteRaw(xmlDocument.OuterXml);
                writer.Flush();
}

Was mache ich da falsch?

3.170 Beiträge seit 2006
vor 17 Jahren

Benutze statt XmlWriter den XmlTextWriter. Da gibts 'ne Property namens "Formatting" 🙂

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

I
IgG Themenstarter:in
111 Beiträge seit 2006
vor 17 Jahren

@MarsStein: Leider geht auch das nicht 😦:


XmlTextWriter writer = new XmlTextWriter(@"c:\test.xml"), Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteRaw(xmlDocument.OuterXml);
writer.Flush();

3.170 Beiträge seit 2006
vor 17 Jahren

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

I
IgG Themenstarter:in
111 Beiträge seit 2006
vor 17 Jahren

Danke, das geht. Auch wenns beängstigend umfangreich ist 😉.

3.170 Beiträge seit 2006
vor 17 Jahren

Ja da hast Du recht. Ich glaube aber nicht das Du das alles brauchst, wenn ich mich richtig erinnere, hab ich's selbst schon mal deutlich kürzer gemacht hab den Code aber gerade nicht zur Hand.
Vielleicht reicht es schon, wenn Du so vorgehst wie in deinem ersten Versuch, aber statt WriteRaw des writers das WriteContentTo des Document benutzt.

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

3.170 Beiträge seit 2006
vor 17 Jahren

hast Du eigentlich schon mal versucht mit

xmlDocumrnt.Save(@"c:\test.xml"); 

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca