XAttribute.Name XAttribute.Name XAttribute.Name XAttribute.Name Property


Gets the expanded name of this attribute.

 property System::Xml::Linq::XName ^ Name { System::Xml::Linq::XName ^ get(); };
public System.Xml.Linq.XName Name { get; }
member this.Name : System.Xml.Linq.XName
Public ReadOnly Property Name As XName

Property Value

An XName containing the name of this attribute.


The following example creates an element with three attributes. It then uses this property to print out the name of each attribute. The example also shows creation of a new attribute using the name of an existing attribute.

XNamespace aw = "http://www.adventure-works.com";  
XElement root = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XAttribute(aw + "Att", "content"),  
    new XAttribute("Att2", "different content")  

foreach (XAttribute att in root.Attributes())  
    Console.WriteLine("{0}={1}", att.Name, att.Value);  

XElement newRoot = new XElement(aw + "Root",  
    from att in root.Attributes("Att2")  
    select new XAttribute(att.Name, "new content"));  

foreach (XAttribute att in newRoot.Attributes())  
    Console.WriteLine("{0}={1}", att.Name, att.Value);  
Dim root As XElement = _   
    <aw:Root xmlns:aw='http://www.adventure-works.com'  
        Att2='different content'/>  

For Each att As XAttribute In root.Attributes()  
    Console.WriteLine("{0}={1}", att.Name, att.Value)  

Dim NewRoot As XElement = _  
    <%= _  
        From att In root.Attributes("Att2") _  
        Select New XAttribute(att.Name, "new content") _  

For Each att As XAttribute In NewRoot.Attributes()  
    Console.WriteLine("{0}={1}", att.Name, att.Value)  

This example produces the following output:

Att2=different content  

Att2=new content  


The expanded name returned by this property is in the form of {namespace}localname.

Applies to

See also