XAttribute.PreviousAttribute Property

Definition

Gets the previous attribute of the parent element.

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

Property Value

An XAttribute containing the previous attribute of the parent element.

Examples

The following example shows how to iterate through the attributes of an element using this property.

XElement root = new XElement("Root",  
    new XAttribute("Att1", 1),  
    new XAttribute("Att2", 2),  
    new XAttribute("Att3", 3),  
    new XAttribute("Att4", 4)  
);  
XAttribute att = root.LastAttribute;  
do {  
    Console.WriteLine(att);  
}  
while((att = att.PreviousAttribute) != null);  
Dim root As XElement = <Root Att1="1" Att2="2" Att3="3" Att4="4"/>  
Dim att As XAttribute = root.LastAttribute  
Dim val As Boolean = True  
Do  
    Console.WriteLine(att)  
    att = att.PreviousAttribute  
Loop While (Not (att Is Nothing))  

This example produces the following output:

Att4="4"  
Att3="3"  
Att2="2"  
Att1="1"  

Remarks

Attributes are maintained in the XML tree in the order that they were added to the element. When a collection of attributes is returned by Attributes, they are returned in the order that they were added, and are not sorted. When you request the previous attribute through this property, this property returns the attribute that was added before this attribute.

If this attribute does not have a parent, or if this attribute is the first attribute, then this property returns null.

The XElement class stores its attributes as a singly-linked list of XAttribute objects. This means that the PreviousAttribute property must traverse the list of attributes that belong to the element. Therefore, using this property might affect your performance.

Applies to

See also