Avatar billede alex_sleiborg Nybegynder
13. marts 2008 - 13:39 Der er 6 kommentarer og
1 løsning

Hente data fra xml (SelectSingleNode)

Hej

Jeg skal have data ud af en xml fil, men har lavet lidt om på strukturen af filen, så nu virker mine metoder ikke mere...

Her er en metode der ikke virker længere, der skal laves om i den parameter til metoden SelectSingleNode. Men kan ikke selv få det til at virke

Her er metoden
        public Boolean VerifyUser(String username, String password)
        {
            try
            {
                Hashing hs = new Hashing();
                XmlNode node = docXML.SelectSingleNode("/Gallery/User[Name='" + username + "']");
                if (Hashing.VerifyHash(password,"SHA512",node.ChildNodes[1].InnerText))
                    return true;
                else
                    return false;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

Og min xml fil

<?xml version="1.0" encoding="utf-8"?>
<Gallery>
  <User>
    <UserName>alex_sleiborg</UserName>
    <Name>Alex</Name>
    <Password>Kl54Py3nUH2S/DElGojJOamGFEWS9g1P5I8KGvU9240h77zlnn+tr0j+zZwJTgN/1vhlW6NJQcSKlAUT2Lr9MWhli0rhWw==</Password>
    <Email>email</Email>
    <Added>18-02-2008 16:55:58</Added>
    <Lastlogin>Never</Lastlogin>
  </User>
  <User>
    <UserName>Søren</UserName>
    <Name>Søren Schantz</Name>
    <Password>Q5NB6QYKlbq2+4cswzCpf/iXD8EP31EtvBVI4w0vwxcLnRL5nSEFWTpEynYPCITG8Z8hDaqAM9WQwr1RKYsh6uwzOlIa</Password>
    <Email>email</Email>
    <Added>20-02-2008 16:55:58</Added>
    <Lastlogin>Never</Lastlogin>
  </User>
  <Configuration>
    <ThumbnailSize>80*200</ThumbnailSize>
    <ImageSize>640*480</ImageSize>
  </Configuration>
</Gallery>
Avatar billede wisen Nybegynder
13. marts 2008 - 13:54 #1
.. prøv med docXML.SelectSingleNode("/Gallery/User[UserName='" + username + "']");
Avatar billede wisen Nybegynder
13. marts 2008 - 13:56 #2
.. og så skal node.ChildNodes[1].InnerText vist erstattes med node.SelectSingleNode("Password").InnterText
Avatar billede wisen Nybegynder
13. marts 2008 - 13:57 #3
.. der er en go' XPath tutorial her http://www.w3schools.com/xpath/ hvis det har interesse...
Avatar billede alex_sleiborg Nybegynder
13. marts 2008 - 14:00 #4
Det virker:) Mange tak for hjælpen. Smid et svar
Avatar billede alex_sleiborg Nybegynder
13. marts 2008 - 14:09 #5
Hmm den er også gal i denne metode???

        public System.Collections.Generic.List<UserObject> GetAlleUsers()
        {
            try
            {
                System.Collections.Generic.List<UserObject> list = new System.Collections.Generic.List<UserObject>();
                foreach (XmlNode node in docXML.SelectNodes("/Gallery/User/Name"))
                {
                    //list.Add(node.FirstChild.Value)
                    list.Add(new UserObject(node.ChildNodes[0].InnerText, node.ChildNodes[1].InnerText, node.ChildNodes[3].InnerText, node.ChildNodes[4].InnerText, node.ChildNodes[5].InnerText));
                }
                return list;
            }
            catch (Exception ex)
            {
                throw new AppConfigurationException(ex.Message);
            }
        }
Avatar billede alex_sleiborg Nybegynder
13. marts 2008 - 14:10 #6
Har fået den til at virke nu
Avatar billede wisen Nybegynder
13. marts 2008 - 15:21 #7
super.... 1 stk. svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester