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

  • PhoneBuff

    PhoneBuff

    10 HAZİRAN 2011
  • spyib

    spyib

    9 Ocak 2007
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009