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

  • dhcrr's channel

    dhcrr's chan

    2 Ocak 2007
  • midomansour

    midomansour

    19 EYLÜL 2009
  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011