XElement sınıfına genel bakış

XElement sınıfı, LINQ to XML'deki temel sınıflardan biridir. Bir XML öğesini temsil eder. Aşağıdaki listede bu sınıfı ne için kullanabileceğiniz gösterilmektedir:

  • Öğe oluşturma.
  • öğesinin içeriğini değiştirin.
  • Alt öğeleri ekleyin, değiştirin veya silin.
  • Bir öğeye öznitelikler ekleyin.
  • Bir öğenin içeriğini metin biçiminde seri hale getirme.

Ayrıca , ve XslCompiledTransformgibi XmlReaderXmlWriteriçindeki System.Xmldiğer sınıflarla birlikte çalışabilirsiniz.

Bu makalede sınıfı tarafından XElement sağlanan işlevler açıklanmaktadır.

XML ağaçları oluşturma

XML ağaçlarını aşağıdakiler de dahil olmak üzere farklı şekillerde oluşturabilirsiniz:

  • Kodda xml ağacı oluşturabilirsiniz. Daha fazla bilgi için bkz . XML ağaçları.
  • XML'yi , metin dosyaları veya Web adresi (URL) gibi TextReaderçeşitli kaynaklardan ayrıştırabilirsiniz. Daha fazla bilgi için bkz . XML ayrıştırma.
  • Ağacı doldurmak için bir XmlReader kullanabilirsiniz. Daha fazla bilgi için bkz. ReadFrom.
  • 'a içerik yazabilen bir XmlWritermodül varsa, yöntemini kullanarak CreateWriter bir yazıcı oluşturabilir, yazıcıyı modüle geçirebilir ve ardından XML ağacını doldurmak için XmlWriter öğesine yazılan içeriği kullanabilirsiniz.

Aşağıdaki örnek bir ağaç oluşturur. C# sürümü iç içe öğe oluşturmalarını kullanır. Visual Basic'te de aynı tekniği kullanabilirsiniz, ancak bu örnekte XML değişmez değerleri kullanılır.

XElement contacts =
    new XElement("Contacts",
        new XElement("Contact",
            new XElement("Name", "Patrick Hines"),
            new XElement("Phone", "206-555-0144"),
            new XElement("Address",
                new XElement("Street1", "123 Main St"),
                new XElement("City", "Mercer Island"),
                new XElement("State", "WA"),
                new XElement("Postal", "68042")
            )
        )
    );
Dim contacts As XElement = _
    <Contacts>
        <Contact>
            <Name>Patrick Hines</Name>
            <Phone>206-555-0144</Phone>
            <Address>
                <Street1>123 Main St</Street1>
                <City>Mercer Island</City>
                <State>WA</State>
                <Postal>68042</Postal>
            </Address>
        </Contact>
    </Contacts>

Aşağıdaki örnekte gösterildiği gibi XML ağacını doldurmak için LINQ to XML sorgusu da kullanabilirsiniz:

XElement srcTree = new XElement("Root",
    new XElement("Element", 1),
    new XElement("Element", 2),
    new XElement("Element", 3),
    new XElement("Element", 4),
    new XElement("Element", 5)
);
XElement xmlTree = new XElement("Root",
    new XElement("Child", 1),
    new XElement("Child", 2),
    from el in srcTree.Elements()
    where (int)el > 2
    select el
);
Console.WriteLine(xmlTree);
Dim srcTree As XElement = _
    <Root>
        <Element>1</Element>
        <Element>2</Element>
        <Element>3</Element>
        <Element>4</Element>
        <Element>5</Element>
    </Root>
Dim xmlTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <%= From el In srcTree.Elements() _
            Where el.Value > 2 _
            Select el %>
    </Root>
Console.WriteLine(xmlTree)

Bu örnek aşağıdaki çıkışı oluşturur:

<Root>
  <Child>1</Child>
  <Child>2</Child>
  <Element>3</Element>
  <Element>4</Element>
  <Element>5</Element>
</Root>

XML ağaçlarını seri hale getirme

XML ağacını bir File, TextWriterveya XmlWriterolarak seri hale getirebilirsiniz.

Daha fazla bilgi için bkz . XML ağaçlarını seri hale getirme.

Eksen yöntemleri aracılığıyla XML verilerini alma

Öznitelikleri, alt öğeleri, alt öğeleri ve üst öğeleri almak için eksen yöntemlerini kullanabilirsiniz. LINQ to XML sorguları eksen yöntemleri üzerinde çalışır ve XML ağacında gezinmek ve bunları işlemek için çeşitli esnek ve güçlü yollar sağlar.

Daha fazla bilgi için bkz . LINQ to XML eksenlerine genel bakış.

XML ağaçlarını sorgulama

XML ağacından veri ayıklayan XML sorgularına LINQ yazabilirsiniz.

Daha fazla bilgi için bkz . Sorgu XML ağaçlarını genel bakış.

XML ağaçlarını değiştirme

Bir öğeyi, içeriğini veya özniteliklerini değiştirmek de dahil olmak üzere farklı şekillerde değiştirebilirsiniz. Bir öğeyi üst öğesinden de kaldırabilirsiniz.

Daha fazla bilgi için bkz . XML ağaçlarını değiştirme.

Ayrıca bkz.