[C#] Datensätze in Xml speichern

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Rump3l, 18. Mai 2012 .

  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?
     
  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...
     
  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
     
  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.
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.