Aracılığıyla paylaş


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

Kullanacağınız en yaygın yapıcı XAttribute sınıfının aşağıdaki oluşturucusudur.

Yapıcı 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ı

XAttribute nesnelerini, aşağıdaki örnekte gösterildiği gibi, XElement nesnelerinin yapısı ile aynı hizada oluşturabilirsiniz:

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 bakınız