This topic has not yet been rated - Rate this topic

XAttribute Class

April 12, 2014

Represents an XML attribute.

System.Object
  System.Xml.Linq.XObject
    System.Xml.Linq.XAttribute

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)
public class XAttribute : XObject

The XAttribute type exposes the following members.

  NameDescription
Public methodXAttribute(XAttribute)Initializes a new instance of the XAttribute class from another XAttribute object.
Public methodXAttribute(XName, Object)Initializes a new instance of the XAttribute class from the specified name and value.
Top
  NameDescription
Public propertyBaseUriGets the base URI for this XObject. (Inherited from XObject.)
Public propertyDocumentGets the XDocument for this XObject. (Inherited from XObject.)
Public propertyStatic memberEmptySequenceGets an empty collection of attributes.
Public propertyIsNamespaceDeclarationDetermines if this attribute is a namespace declaration.
Public propertyNameGets the expanded name of this attribute.
Public propertyNextAttributeGets the next attribute of the parent element.
Public propertyNodeTypeGets the node type for this node. (Overrides XObject.NodeType.)
Public propertyParentGets the parent XElement of this XObject. (Inherited from XObject.)
Public propertyPreviousAttributeGets the previous attribute of the parent element.
Public propertyValueGets or sets the value of this attribute.
Top
  NameDescription
Public methodAddAnnotationAdds an object to the annotation list of this XObject. (Inherited from XObject.)
Public methodAnnotation(Type)Gets the first annotation object of the specified type from this XObject. (Inherited from XObject.)
Public methodAnnotation<T>()Get the first annotation object of the specified type from this XObject. (Inherited from XObject.)
Public methodAnnotations(Type)Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.)
Public methodAnnotations<T>()Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodRemoveRemoves this attribute from its parent element.
Public methodRemoveAnnotations(Type)Removes the annotations of the specified type from this XObject. (Inherited from XObject.)
Public methodRemoveAnnotations<T>()Removes the annotations of the specified type from this XObject. (Inherited from XObject.)
Public methodSetValueSets the value of this attribute.
Public methodToStringConverts the current XAttribute object to a string representation. (Overrides Object.ToString().)
Top
  NameDescription
Public eventChangedRaised when this XObject or any of its descendants have changed. (Inherited from XObject.)
Public eventChangingRaised when this XObject or any of its descendants are about to change. (Inherited from XObject.)
Top
  NameDescription
Public operatorStatic memberExplicit(XAttribute to Nullable<UInt32>)Cast the value of this XAttribute to a Nullable<T> of UInt32.
Public operatorStatic memberExplicit(XAttribute to Nullable<UInt64>)Cast the value of this XAttribute to a Nullable<T> of UInt64.
Public operatorStatic memberExplicit(XAttribute to Nullable<TimeSpan>)Cast the value of this XAttribute to a Nullable<T> of TimeSpan.
Public operatorStatic memberExplicit(XAttribute to Nullable<Int64>)Cast the value of this XAttribute to a Nullable<T> of Int64.
Public operatorStatic memberExplicit(XAttribute to Nullable<Single>)Cast the value of this XAttribute to a Nullable<T> of Single.
Public operatorStatic memberExplicit(XAttribute to UInt32)Cast the value of this XAttribute to a UInt32.
Public operatorStatic memberExplicit(XAttribute to UInt64)Cast the value of this XAttribute to a UInt64.
Public operatorStatic memberExplicit(XAttribute to TimeSpan)Cast the value of this XAttribute to a TimeSpan.
Public operatorStatic memberExplicit(XAttribute to Single)Cast the value of this XAttribute to a Single.
Public operatorStatic memberExplicit(XAttribute to String)Cast the value of this XAttribute to a String.
Public operatorStatic memberExplicit(XAttribute to Nullable<Int32>)Cast the value of this XAttribute to a Nullable<T> of Int32.
Public operatorStatic memberExplicit(XAttribute to Double)Cast the value of this XAttribute to a Double.
Public operatorStatic memberExplicit(XAttribute to Guid)Cast the value of this XAttribute to a Guid.
Public operatorStatic memberExplicit(XAttribute to Int32)Cast the value of this XAttribute to an Int32.
Public operatorStatic memberExplicit(XAttribute to Decimal)Cast the value of this XAttribute to a Decimal.
Public operatorStatic memberExplicit(XAttribute to Boolean)Cast the value of this XAttribute to a Boolean.
Public operatorStatic memberExplicit(XAttribute to DateTime)Cast the value of this XAttribute to a DateTime.
Public operatorStatic memberExplicit(XAttribute to DateTimeOffset)Cast the value of this XAttribute to a DateTimeOffset.
Public operatorStatic memberExplicit(XAttribute to Nullable<Decimal>)Cast the value of this XAttribute to a Nullable<T> of Decimal.
Public operatorStatic memberExplicit(XAttribute to Nullable<DateTimeOffset>)Cast the value of this XAttribute to a Nullable<T> of DateTimeOffset.
Public operatorStatic memberExplicit(XAttribute to Nullable<Guid>)Cast the value of this XAttribute to a Nullable<T> of Guid.
Public operatorStatic memberExplicit(XAttribute to Nullable<Double>)Cast the value of this XAttribute to a Nullable<T> of Double.
Public operatorStatic memberExplicit(XAttribute to Int64)Cast the value of this XAttribute to an Int64.
Public operatorStatic memberExplicit(XAttribute to Nullable<DateTime>)Cast the value of this XAttribute to a Nullable<T> of DateTime.
Public operatorStatic memberExplicit(XAttribute to Nullable<Boolean>)Cast the value of this XAttribute to a Nullable<T> of Boolean.
Top
  NameDescription
Explicit interface implemetationPrivate methodIXmlLineInfo.HasLineInfoGets a value indicating whether or not this XObject has line information. (Inherited from XObject.)
Explicit interface implemetationPrivate propertyIXmlLineInfo.LineNumberGets the line number that the underlying XmlReader reported for this XObject. (Inherited from XObject.)
Explicit interface implemetationPrivate propertyIXmlLineInfo.LinePositionGets the line position that the underlying XmlReader reported for this XObject. (Inherited from XObject.)
Top

An XML attribute is a name/value pair associated with an XML element.

Each XElement contains a list of the attributes for that element. Attributes must have a qualified name that is unique to the element. Attributes are not derived from XNode; they are not nodes in the XML tree. Instead, they are simply name/value pairs associated with an element.

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 to the element, and are not sorted.

Technically, in XML, namespace declarations are not attributes proper. However, this distinction is not normally made by many XML programmers. Instead, because namespace declarations have exactly the same XML syntax as attributes, most XML programmers think of namespaces as attributes. To simplify the LINQ to XML programming interface, namespaces are represented in the XML tree as attributes. Such namespace attributes impact serialization of an XML tree. When serializing, LINQ to XML attempts to serialize with the namespace prefix specified in namespace attributes. You can use the IsNamespaceDeclaration to determine if an attribute is really a namespace declaration.

The XAttribute class derives from XObject. You can add annotations to attributes, and observe events for them.

Some XAttribute methods can be used from XAML, for more information, see LINQ to XML Dynamic Properties in the .NET Framework documentation.

The following example uses this constructor to create attributes. It passes strings as the first argument to the XAttribute constructor, which are then implicitly converted to XName objects. The attributes are added to an element.


    StringBuilder output = new StringBuilder();
    XElement root;

    double dbl = 12.345;
    XAttribute[] attArray = {
    new XAttribute("Att4", 1),
    new XAttribute("Att5", 2),
    new XAttribute("Att6", 3)
};
    DateTime dt = new DateTime(2006, 10, 6, 12, 30, 00);

    // string content
    root = new XElement("Root",
        new XAttribute("Att1", "Some text"),

        // double content
        new XAttribute("Att2", dbl),

        // DateTime content
        new XAttribute("Att3", dt),

        // XAttribute array content
        attArray
    );

    output.Append(root + Environment.NewLine);

    OutputTextBlock.Text = output.ToString();


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.