Attribútum értékének lekérése (LINQ–XML)

Ez a cikk bemutatja, hogyan szerezheti be az attribútumok értékét. Két fő módszer létezik: A kívánt típusra vethet egy XAttribute elemet; az explicit konverziós operátor ezután az elem vagy attribútum tartalmát a megadott típusra konvertálja. Másik lehetőségként használhatja a tulajdonságot Value . A casting azonban általában a jobb megközelítés. Ha az attribútumot null értékű típusra öntötte, a kód egyszerűbben írható egy olyan attribútum értékének lekérésekor, amely lehet, hogy nem létezik. Erre a technikára példákat az elem értékének lekérése című témakörben talál.

Példa: Egy attribútum értékének lekérése cast használatával

Egy attribútum értékének lekéréséhez C#-ban az objektumot a kívánt típusra konvertálja a XAttribute használatával. A Visual Basicben az integrált attribútumtulajdonság használatával lekérheti az értéket.

XElement root = new XElement("Root",
                    new XAttribute("Attr", "abcde")
                );
Console.WriteLine(root);
string str = (string)root.Attribute("Attr");
Console.WriteLine(str);
Dim root As XElement = <Root Attr="abcde"/>
Console.WriteLine(root)
Dim str As String = root.@Attr
Console.WriteLine(str)

Ez a példa a következő kimenetet hozza létre:

<Root Attr="abcde" />
abcde

Példa: Adatok lekérése egy névtérben lévő XML-fájlból öntést használva

Az alábbi példa bemutatja, hogyan kérhető le egy attribútum értéke, ha az attribútum névtérben van. További információ: Névterek áttekintése.

XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root",
                    new XAttribute(aw + "Attr", "abcde")
                );
string str = (string)root.Attribute(aw + "Attr");
Console.WriteLine(str);
Imports <xmlns:aw="http://www.adventure-works.com">

Module Module1
    Sub Main()
        Dim root As XElement = <aw:Root aw:Attr="abcde"/>
        Dim str As String = root.@aw:Attr
        Console.WriteLine(str)
    End Sub
End Module

Ez a példa a következő kimenetet hozza létre:

abcde

Lásd még