#1 18. Mai 2012 Datensätze in Xml speichern Hallo, ich habe ein paar Probleme beim Coden. Ich möchte aus Textboxen string auslesen und sie in einem Xlm Dokument speichern. (Formulardaten) Problem ist, das ich die rootelemente nicht wegbekomme.... PHP: private void button2_Click ( object sender , EventArgs e ) { XmlTextWriter writer = new XmlTextWriter (new FileStream ( "blup.xml" , FileMode . Append ), Encoding . UTF8 ); writer . WriteStartDocument (); writer . WriteStartElement ( "Personen" ); writer . WriteStartElement ( "Mitarbeiter" ); writer . WriteStartElement ( "Vorname" ); writer . WriteString ( textBox1 . Text ); writer . WriteEndElement (); //Vorame writer . WriteStartElement ( "Nachname" ); writer . WriteString ( textBox2 . Text ); writer . WriteEndElement (); //Nachname writer . WriteStartElement ( "Geburtsdatum" ); writer . WriteString ( textBox3 . Text ); writer . WriteEndElement (); //Datum writer . WriteEndElement (); // Mitarbeiter wird angelegt writer . WriteEndElement (); // Personen zu? writer . WriteEndDocument (); writer . Close (); } PHP: private void button2_Click ( object sender , EventArgs e ) { XmlWriterSettings settings = new XmlWriterSettings (); //settings.OmitXmlDeclaration = true; settings . ConformanceLevel = ConformanceLevel . Fragment ; settings . CloseOutput = false ; XmlTextWriter writer = new XmlTextWriter (new FileStream ( "Personen.xml" , FileMode . Append ), Encoding . UTF8 ); //XmlTextWriter writer = new XmlTextWriter("text.xml", Encoding.UTF8); writer . WriteStartDocument (); writer . WriteStartElement ( "Personen" ); foreach ( string item in listBox1 . Items ) { writer . WriteStartElement ( "Mitarbeiter" ); writer . WriteStartElement ( "Vorname" ); writer . WriteString ( item ); writer . WriteEndElement (); } foreach ( string item in listBox2 . Items ) { writer . WriteStartElement ( "Nachname" ); writer . WriteString ( item ); writer . WriteEndElement (); } foreach ( string item in listBox3 . Items ) { writer . WriteStartElement ( "Geburtsdatum" ); writer . WriteString ( item ); writer . WriteEndElement (); } writer . WriteEndElement (); writer . WriteEndElement (); writer . WriteEndDocument (); writer . Close (); } private void button1_Click_1 ( object sender , EventArgs e ) { listBox1 . Items . Add ( textBox1 . Text ); listBox2 . Items . Add ( textBox2 . Text ); listBox3 . Items . Add ( textBox3 . Text ); } }} Code: <?xml version="1.0" encoding="utf-8"?> <Personen> <Mitarbeiter> <Vorname>gsdf</Vorname> <Nachname>fsdf</Nachname> <Geburtsdatum>fsdf</Geburtsdatum> </Mitarbeiter> [COLOR=SeaGreen]</Personen> <?xml version="1.0" encoding="utf-8"?> <Personen>[/COLOR] <Mitarbeiter><Vorname>nick</Vorname> <Nachname>dfsgd</Nachname> <Geburtsdatum>deich</Geburtsdatum> </Mitarbeiter> </Personen> Das Auslesen an sich klappt, aber die grünen Elemente müssen weg. Im oberen Beispiel lese ich direkt aus 3 Textboxen und speicher mit einem Button Im unteren der Umweg über listboxen und foreach... hab im Netz auch was über den Filemode und das ConformanceLevel gelesen, jedoch auch kein Erfolg. Kann wer helfen? + Multi-Zitat Zitieren
#2 19. Mai 2012 AW: Datensätze in Xml speichern schon einmal nachgeschaut, was "writer.WriteStartDocument();" genau macht? überleg mal, was passiert, wenn das bei jedem click auf den button ausgeführt wird... + Multi-Zitat Zitieren
#3 19. Mai 2012 AW: Datensätze in Xml speichern hm keine ahnung sie erstellt jedes mal die formatierung und alles neu? hab leider sogut wie keine ahnung vom coden... muss es aber machen.... writer.WriteStartDocument(false); bringt auch nichts bitte hilf mir!! tipps mit knkretem code wärn gut + Multi-Zitat Zitieren
#4 19. Mai 2012 AW: Datensätze in Xml speichern Wieso schaust du dir das ganze nicht in der MSDN an? http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter.writestartdocument.aspx SO WIRDS GEMACHT: Schreiben von XML-Code in eine Datei Wenn dir hier jemand fertigen Code hinklatschen soll, dann stelle ne Anfrage im "Ich suche Programmierer" Thread. 1 Person gefällt das. + Multi-Zitat Zitieren