XAttribute.PreviousAttribute Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Gets the previous attribute of the parent element.

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

Syntax

'Declaration
Public ReadOnly Property PreviousAttribute As XAttribute
public XAttribute PreviousAttribute { get; }

Property Value

Type: System.Xml.Linq.XAttribute
An XAttribute containing the previous attribute of the parent element.

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 nulla null reference (Nothing in Visual Basic).

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.

Examples

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

Dim output As New StringBuilder
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
    output.Append(att)
    output.Append(Environment.NewLine)
    att = att.PreviousAttribute
Loop While (Not (att Is Nothing))

OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
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
{
    output.Append(att + Environment.NewLine);
}
while ((att = att.PreviousAttribute) != null);

OutputTextBlock.Text = output.ToString();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.