[ASP.NET] XML mit XPath nach Attributen durchsuchen?



  • Hallo, ich lerne gerade XML Dateien auszulesen, nun möchte ich es mit XPath versuchen. Ich habe eine Login Seite erstellt wo der Benutzer seinen Namen und Passwort eingibt, das Ziel soll es sein, die eingegebenen Daten mit denen aus der XML Datei zu vergleichen.

    xml-file:

    <?xml version="1.0" encoding="utf-8" ?>
    
    <userdata>  
      <login name="patrick" password="Test123">
        <user id="0" vorname="xxx" name="trance" straße="heidehöhe 34" stadt="towntown" />    
      </login>
      <login name="hans" password="start">
        <user id="1" vorname="hans" name="blub" straße="xxx 23" stadt="berlin" />
      </login>
    </userdata>
    

    Hier mein Code der nicht vollständig ist, hoffe ihr könnt mir weiterhelfen gezielt die Attribute name und password auszulesen:

    protected void CheckUser(object sender, AuthenticateEventArgs e)
    {            
          String expr = "/userdata/login/@name";
          XPathDocument xmlDoc = new XPathDocument(MapPath("UserData.xml")); ;
          XPathNavigator nav = xmlDoc.CreateNavigator();
          XPathNodeIterator iterator = nav.Select(expr);
          XPathNavigator navResult = iterator.Current;
    
          while (iterator.MoveNext())
          {
                      //Hier durchlaufen
          }
    }
    


  • Warum guckst du nicht einfach mal im Netz nach, wie XPath funktioniert?
    http://de.wikipedia.org/wiki/XPATH

    string expr = @"/userdata/login[@name='tralala']";
    

Anmelden zum Antworten