Avatar billede Jim Rasmussen Novice
21. juni 2011 - 03:37 Der er 7 kommentarer og
1 løsning

linq to xml

Hey.

Nu har jeg længe prøvet at finde frem til hvad forskellen er på Descendants og Elements?

Ved at Descendants virker hver gang og Elements kun virker i nogle tilfælde? Men hvorfor?

-------
--xmlFile--
<login>
    <user>
        <value>userName</value>
    </user>
</login>
--xmlFile--


XDocument doc = XDocument.Load(xmlFile);

var user = (from n in doc.Descendants("user") select n);
var user = (from n in doc.Elements("user") select n);

return user.FirstOrDefaunt().Value;
-------

I ovenstående der vil Elements give en fejl med at "referencen er ikke indstillet til en forekomst af en objekt". Hvorimod Descendants virker fint?
Avatar billede arne_v Ekspert
21. juni 2011 - 04:35 #1
var user = (from n in doc.Element("login").Elements("user") select n);

virker og forklarer vel egentligt forskellen.

Lige under versus under.
Avatar billede Jim Rasmussen Novice
21. juni 2011 - 12:10 #2
Det tror jeg det gør. hmm..

Altså skal man vide præcis hvilket element man vil have fat i? hvorimod descendants bare tager alle.?

Er det forstået korrekt? :p
Avatar billede Syska Mester
21. juni 2011 - 13:16 #3
Elements skal det være child af din Node.

Descendants kan være childs childs childs af din Node du får fat i.

--xmlFile--
<login>
    <user>
        <value>userName</value>
        <user>
            <value>userName</value>
            <user>
                <value>userName</value>
            </user>
        </user>
    </user>
</login>
--xmlFile--
Avatar billede arne_v Ekspert
21. juni 2011 - 14:31 #4
Jep.

Jeg vil naesten altid bruge elements.

XML er struktureret, saa man boer vide hvor ens elementer er i stukturen.
Avatar billede Syska Mester
21. juni 2011 - 14:47 #5
Descendants kan i hvert fald have sjove effekter hvis der kommer nogen flere elementer ind med samme navn.

mvh
Avatar billede janus_007 Nybegynder
21. juni 2011 - 17:51 #6
Se her: http://translate.google.com/#en|da|descendants

Forestil dig et familietræ, så giver det også god mening :)
Avatar billede Jim Rasmussen Novice
23. juni 2011 - 01:47 #7
Tak. Tror den er sivet ind nu :p

Hvem vil ha point?
Avatar billede arne_v Ekspert
23. juni 2011 - 02:03 #8
jo tak
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