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

Öznitelikler, bir öğeyle ilişkili ad-değer çiftleridir. XAttribute sınıfı XML özniteliklerini temsil eder.

LINQ to XML içindeki özniteliklerle çalışmak, öğelerle çalışmaya benzer. Oluşturucuları benzerdir. Koleksiyonlarını almak için kullandığınız yöntemler benzerdir. Öznitelik koleksiyonu için LINQ sorgu ifadesi, bir öğe koleksiyonu için LINQ sorgu ifadesine benzer.

Bir öğeye özniteliklerin eklenme sırası korunur. Başka bir ifadeyle, öznitelikler arasında yineleme yaptığınızda, bunları eklendikleri sırada görürsünüz.

XAttribute oluşturucu

Sınıfının aşağıdaki oluşturucusunun XAttribute en sık kullanacağınız oluşturucusdur:

Oluşturucu Açıklama
XAttribute(XName name, object content) Bir XAttribute nesnesi oluşturur. name bağımsız değişkeni özniteliğin adını belirtir; content özniteliğin içeriğini belirtir.

Örnek: Özniteliği olan bir öğe oluşturma

Aşağıdaki örnekte, öznitelik içeren bir öğe oluşturmanın ortak görevi gösterilmektedir.

XElement phone = new XElement("Phone",
    new XAttribute("Type", "Home"),
    "555-555-5555");
Console.WriteLine(phone);
Dim phone As XElement = <Phone Type="Home">555-555-5555</Phone>
Console.WriteLine(phone)

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

<Phone Type="Home">555-555-5555</Phone>

Örnek: Özniteliklerin işlevsel yapısı

Nesneleri, aşağıdaki örnekte gösterildiği gibi, nesnelerin yapısıyla XElement aynı hizada oluşturabilirsinizXAttribute:

XElement c = new XElement("Customers",
    new XElement("Customer",
        new XElement("Name", "John Doe"),
        new XElement("PhoneNumbers",
            new XElement("Phone",
                new XAttribute("type", "home"),
                "555-555-5555"),
            new XElement("Phone",
                new XAttribute("type", "work"),
                "666-666-6666")
        )
    )
);
Console.WriteLine(c);
Dim c As XElement = _
    <Customers>
        <Customer>
            <Name>John Doe</Name>
            <PhoneNumbers>
                <Phone type="home">555-555-5555</Phone>
                <Phone type="work">666-666-6666</Phone>
            </PhoneNumbers>
        </Customer>
    </Customers>
Console.WriteLine(c)

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

<Customers>
  <Customer>
    <Name>John Doe</Name>
    <PhoneNumbers>
      <Phone type="home">555-555-5555</Phone>
      <Phone type="work">666-666-6666</Phone>
    </PhoneNumbers>
  </Customer>
</Customers>

Öznitelikler düğüm değildir

Öznitelikler ve öğeler arasında bazı farklılıklar vardır. XAttribute nesneleri XML ağacındaki düğümler değildir. Bir XML öğesiyle ilişkili ad-değer çiftleridir. Belge Nesne Modeli'nin (DOM) aksine bu, XML'nin yapısını daha yakından yansıtır. XAttribute Nesneler aslında XML ağacındaki düğümler olmasa da, nesnelerle XAttribute çalışmak nesnelerle XElement çalışmaya benzer.

Bu ayrım öncelikli olarak yalnızca düğüm düzeyinde XML ağaçlarıyla çalışan kod yazan geliştiriciler için önemlidir. Birçok geliştirici bu ayrım ile ilgilenmeyecektir.

Ayrıca bkz.