15 49.0138 8.38624 1 0 4000 1 https://www.alexmedina.net 300 true 0

Linq to XML: Diferencia entre Elements() y Descendants()

0 Comments

La diferencia es sencilla, mientra Descendants() cuenta todos los nodos (anidados incluidos), Elements() solo cuenta los del mismo nivel.

string xml = @"
                <Root>
                    <Item>
                        <id>1</id>
                    </Item>
                    <Item>
                        <id>2</id>
                    </Item>
                    <Item>
                        <id>3</id>
                        <Items>
                            <Item>
                                <id>5</id>
                            </Item>
                            <Item>
                                <id>6</id>
                            </Item>                            
                        </Items>
                    </Item>
                    <Item>
                        <id>4</id>
                    </Item>
                </Root>";
 
            XDocument doc1 = XDocument.Parse(xml);
 
            var q1 = from e in doc1.Root.Descendants("Item")
                     select e;
 
            var q2 = from e in doc1.Root.Elements("Item")
                     select e;
 
            int c1 = q1.Count(); //6
            int c2 = q2.Count(); //4
Previous Post
Callback succes de jQuery no funciona en una llamada $.ajax() en Chrome
Next Post
Linq to XML: carga de archivos XML enormes (más de 1Gb)

0 Comments

Leave a Reply

SOBRE MÍ

Afortunado de trabajar en lo que me gusta, aprendiendo cada día cosas nuevas y ayudando a crear proyectos.
Conocimientos en diversas tecnologías y experiencia demostrable.
¿Nos ponemos manos a la obra?

Mis Apuntes