in der msdn gibt es bei der XmlTextWriter klasse die XmlTextWriter.Formatting-Eigenschaft, ich kann diese eigenschaft aber leider nicht finden...
diese wäre wichtig, um das geschriebene dokument besser formatieren zu können!
könnt ihr bitte mal schauen, ob ihr die eigenschaft habt!?
FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
XmlWriter xw = new XmlTextWriter(fs, System.Text.Encoding.ASCII);
xw.????? --> Formatting Eigenschaft nicht vorhanden!!!
// xml deklaration schreiben
xw.WriteStartDocument();
xw.WriteStartElement("form");
xw.WriteAttributeString("name", theForm.Name);
...
...
DANKE
atmosfear
hmm kann es sein dass du deine frage in die falsche sektion gepostet hast? g
->@moderatoren: bitte verschieben.
nun zu deiner frage/anwort:
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Liest BuchladenXML ein und speichert den Inhalt in formatierte Kopie
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public void copyFormattedXml()
{
XmlDocument doc = new XmlDataDocument();
//XML Daten werden in das XMLDocument geladen
doc.Load("c:/atest/generatedXmlNet.xml");
XmlTextWriter copywriter = new XmlTextWriter("c:/atest/KopieBuchladenNET.xml", System.Text.Encoding.UTF8);
XmlNode node = null;
node.NodeType = XmlNodeType.Element;
//***Formatiert zusätzlich buchladenNET***
//Schreibformat (Hierarchie-Struktur) wird gesetzt
copywriter.Formatting = Formatting.Indented;
//Anzahl(int) der Blanks
copywriter.Indentation = 2;
//Speichert das Document in outputNET.xml ab
doc.Save(copywriter);
Console.WriteLine(copywriter.ToString());
copywriter.Close();
}
p.s.: dieser code stammt von einem meiner projekte, da steht bissle mehr drin. vielleicht kannst du ja damit was anfangen 🙂)
posted by the real prince of persia
@r00t
ja sorry, hatte nicht geschaut und ein falsches forum erwischt, aber kann passieren!
DANKE auf jeden fall für deine schnelle antwort, ich werde deinen code gleich mal
unter die lupe nehmen und mich später noch einmal melden...
Greetz
atmosfear
das mit veschieben war ja nicht so ernst gemeint 😉
jep teil mir mit wenns geklappt hat.
posted by the real prince of persia
hi!
also wenn ich deine funktion 1:1 übernehme, dann bekomme ich folgenden fehler:
D:\Projekte\C#\Libs\Windows\clsForm.cs(173): Einer Eigenschaft oder einem Indexer 'System.Xml.XmlNode.NodeType' kann nicht zugewiesen werden -- sie sind schreibgeschützt
node.NodeType = XmlNodeType.Element;
DANKE
atmosfear
die zwei zeilen brauchst du (noch) nicht:
XmlNode node = null;
node.NodeType = XmlNodeType.Element;
also einfach entfernen... dann sollte es funktionieren
posted by the real prince of persia
alles klar, klappt perfekt und so wie ich es mir vorstelle!
DANKE
atmosfear