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

  • Autocar

    Autocar

    11 Mart 2006
  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012