[C#] XML-Datei: Tags einzeln auslesen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Dark En3rgy, 28. Mai 2011 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 28. Mai 2011
    XML-Datei: Tags einzeln auslesen

    Hallo Leute,

    ich benötige dringend Hilfe beim Auslesen von XML-Dateien. Ich habe schon ziemlich viel nach Tutorials gesucht und in vielen Foren nachgelesen. Leider bin ich nicht fündig geworden bzw. habe das alles nicht verstanden ?( Mein Problem ist, dass ich nicht weiß, wie ich einzelne Tags aus einer XML-Datei lesen kann. Die Programmiersprache, die ich benutze, ist C#.
    Hier die Datei, die ich auslesen möchte:

    <Person>
    <Personalnummer>1001</Personalnummer>
    <Vorname>Max</Vorname>
    <Name>Mustermann</Name>
    <Abteilung>IT</Abteilung>
    <Zusatzangaben>Keine</Zusatzangaben>
    </Person>

    Ich hoffe Ihr könnt mir helfen.

    Dark En3rgy
     
  2. 28. Mai 2011
    AW: XML-Datei: Tags einzeln auslesen

    Code:
     private void button1_Click(object sender, EventArgs e)
     {
     XmlDocument XDoc = new XmlDocument();
     XDoc.Load("test.xml");
    
     XmlNode Root = XDoc.DocumentElement;
    
     foreach(XmlNode XTag in Root.ChildNodes)
     richTextBox1.Text += XTag.InnerText + Environment.NewLine;
     }
    
    Wichtig ist das du "using System.Xml" benutzt. Bei meinem Beispiel war es ne Windows Form mit nem Button und ner Richtextbox.
     
  3. 28. Mai 2011
    AW: XML-Datei: Tags einzeln auslesen

    Hi,

    danke für die schnelle Antwort :] Das mit der Textbox-Ausgabe funktioniert einwandfrei und der Code ist auch verständlich. Mein Problem ist dennoch, dass ich die jeweiligen Inhalte der Tags Variablen zuweisen muss, um sie später in einer SQL-Anweisung nutzen zu können.
    Es müsste ungefähr so aussehen:

    Code:
    string personalnr, vname, nname, abteilung, zangaben;
    personalnr = Personalnummer.Innetext;
    vname = Vorname.Innertext;
    nname = Name.Innertext;
    abteilung = Abteilung.Innertext;
    zangaben = Zusatzangaben.Innertext;
    ...
    Ob man das so realisieren kann weiß ich nicht -.-

    MfG

    Dark En3rgy
     
  4. 28. Mai 2011
    AW: XML-Datei: Tags einzeln auslesen

    Bei der XMLNode kannst du die Funktion "GetElementsByTagName" benutzen. Achtung, die gibt ein Array zurück.
    Code:
    XmlDocument XDoc = new XmlDocument();
     XDoc.Load("test.xml");
    
     XmlNode Root = XDoc.DocumentElement;
    
     string Personalnr = XDoc.GetElementsByTagName("Personalnummer")[0].InnerText;
    
     richTextBox1.Text = Personalnr;
    
    So musst du dann halt die anderen Tags auch abfragen. Es kann aber gut sein das es dafür ne andere vlt bessere Lösung gibt, aber auf die schnelle sollte es das auch tun.
     
  5. 28. Mai 2011
    AW: XML-Datei: Tags einzeln auslesen

    Mit XPath könntest du das ganze auch machen. Ist zwar CPU-lastiger, aber es dürfte funktionieren.

    Beispiel: Positioning.cs -
    wifi-positioner -


    This project finds your position using WiFi access points. - Google Project Hosting


    Allerdings wohl ohne Erklärung.
     
  6. 28. Mai 2011
    AW: XML-Datei: Tags einzeln auslesen

    EvulGurke, danke für die Hilfe. Es ist genau das, was ich brauche. BW ist raus.
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.