Avatar billede badal Nybegynder
13. maj 2009 - 14:01 Der er 3 kommentarer og
1 løsning

xml og udskrive den rigtige node

Jeg har nedenstående xml dokument.
<test>
    <name>
        <child>
            <name></name>
            <age></age>
        </child>
                <child>
            <name></name>
            <age></age>
        </child>
                <child>
            <name></name>
            <age></age>
        </child>
        </name>
       
</test>
               
Og denne kode:

XmlDocument objXMLdoc = new XmlDocument();
                objXMLdoc.Load(FolderPath + fileName);
                XmlNodeList nodeList;
                XmlElement root = objXMLdoc.DocumentElement;
                nodeList = root.SelectNodes("//test/child/");

                foreach (XmlNode node in nodeList)
                {
                    XmlNode name = node.SelectSingleNode("//name");
                    XmlNode age = node.SelectSingleNode("//age");
                   
                }

Jeg vil gerne lave en filtering så jeg får fat i alle child noder. Det virker ok.

Efter følgende vil jeg gerne loppe igennem alle child noder og udskriver værdier.

Problemet er at den kun udskriver værdier fra den første node. Hvis der f.eks. er 3 child objekter udskriver den værdi fra først node 3 gange.

Kan nogen hjælpe ?
Avatar billede aaberg Nybegynder
13. maj 2009 - 14:32 #1
Dette er en typisk problemstilling. Har selv haft den flere gange. Når du søger på "//name" fra din node, søger den i hele dokumentet.

Brug i stedet "./name", så vil den søge efter name elementet i den specifikke node.
Avatar billede kalp Novice
13. maj 2009 - 14:45 #2
Du kan også bare skrive:

      foreach (XmlNode node in nodeList)
                {
                    XmlNode name = node.SelectSingleNode("name");
                    XmlNode age = node.SelectSingleNode("age");
                   
                }
Avatar billede badal Nybegynder
13. maj 2009 - 15:27 #3
hej igen

Det virkede ".//navn". Med dobbelt slash istedet for en enkelt.

aaberg_cc>> hvis du kommer med et svar giver jeg point.
Avatar billede aaberg Nybegynder
13. maj 2009 - 20:38 #4
:-)
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