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

  • alex maybury

    alex maybury

    20 Aralık 2007
  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012