SORU
13 EYLÜL 2010, PAZARTESİ


Etmeniz için XML Torunları ve Element arasındaki fark nedir

VS IntelliSense hem bu anahtar kelimeler rastladı. Aralarındaki fark googling denedim ve net bir cevap alamadım. Bunlardan biri, küçük ve orta XML dosyaları ile en iyi performansa sahip. Teşekkürler

CEVAP
13 EYLÜL 2010, PAZARTESİ


Elements yalnızca öğeleri bulurdoğrudanyani hemen çocuklar. torunları

Descendants herhangi bir düzeyde çocuk, yani çocuklar, büyük çocuklar, vb... bulur


Burada farkı gösteren bir örnek

<?xml version="1.0" encoding="utf-8" ?>
<foo>
    <bar>Test 1</bar>
    <baz>
        <bar>Test 2</bar>
    </baz>
    <bar>Test 3</bar>
</foo>

Kod:

XDocument doc = XDocument.Load("input.xml");
XElement root = doc.Root;

foreach (XElement e in root.Elements("bar"))
{
    Console.WriteLine("Elements : "   e.Value);
}

foreach (XElement e in root.Descendants("bar"))
{
    Console.WriteLine("Descendants : "   e.Value);
}

Sonuç:

Elements : Test 1
Elements : Test 3
Descendants : Test 1
Descendants : Test 2
Descendants : Test 3

Eğer istediğiniz öğeleri hemen çocuk olduğunu biliyorsan eğer Descendants yerine Elements kullanırsanız daha iyi performans alırsınız.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011
  • glowpinkstah

    glowpinkstah

    16 Mayıs 2006
  • Lupe Fiasco

    Lupe Fiasco

    23 ŞUBAT 2006