Laden...

noch eine frage zu xml...

Erstellt von atmosfear vor 19 Jahren Letzter Beitrag vor 19 Jahren 3.833 Views
A
atmosfear Themenstarter:in
260 Beiträge seit 2004
vor 19 Jahren
noch eine frage zu xml...

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

R
139 Beiträge seit 2004
vor 19 Jahren

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

A
atmosfear Themenstarter:in
260 Beiträge seit 2004
vor 19 Jahren

@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

R
139 Beiträge seit 2004
vor 19 Jahren

das mit veschieben war ja nicht so ernst gemeint 😉

jep teil mir mit wenns geklappt hat.

posted by the real prince of persia

A
atmosfear Themenstarter:in
260 Beiträge seit 2004
vor 19 Jahren

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

R
139 Beiträge seit 2004
vor 19 Jahren

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

A
atmosfear Themenstarter:in
260 Beiträge seit 2004
vor 19 Jahren

alles klar, klappt perfekt und so wie ich es mir vorstelle!

DANKE
atmosfear

R
139 Beiträge seit 2004
vor 19 Jahren

bitte schön 😉

posted by the real prince of persia