XNode Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Represents the abstract concept of a node (one of: element, comment, document type, processing instruction, or text node) in the XML tree.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
The XNode type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | BaseUri | Gets the base URI for this XObject. (Inherited from XObject.) |
![]() | Document | Gets the XDocument for this XObject. (Inherited from XObject.) |
![]() ![]() | DocumentOrderComparer | Gets a comparer that can compare the relative position of two nodes. |
![]() ![]() | EqualityComparer | Gets a comparer that can compare two nodes for value equality. |
![]() | NextNode | Gets the next sibling node of this node. |
![]() | NodeType | Gets the node type for this XObject. (Inherited from XObject.) |
![]() | Parent | Gets the parent XElement of this XObject. (Inherited from XObject.) |
![]() | PreviousNode | Gets the previous sibling node of this node. |
| Name | Description | |
|---|---|---|
![]() | AddAfterSelf(Object) | Adds the specified content immediately after this node. |
![]() | AddAfterSelf(array<Object>) | Adds the specified content immediately after this node. |
![]() | AddAnnotation | Adds an object to the annotation list of this XObject. (Inherited from XObject.) |
![]() | AddBeforeSelf(Object) | Adds the specified content immediately before this node. |
![]() | AddBeforeSelf(array<Object>) | Adds the specified content immediately before this node. |
![]() | Ancestors() | Returns a collection of the ancestor elements of this node. |
![]() | Ancestors(XName) | Returns a filtered collection of the ancestor elements of this node. Only elements that have a matching XName are included in the collection. |
![]() | Annotation(Type) | Gets the first annotation object of the specified type from this XObject. (Inherited from XObject.) |
![]() | Annotation<T>() | Get the first annotation object of the specified type from this XObject. (Inherited from XObject.) |
![]() | Annotations(Type) | Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.) |
![]() | Annotations<T>() | Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.) |
![]() ![]() | CompareDocumentOrder | Compares two nodes to determine their relative XML document order. |
![]() | CreateReader() | Creates an XmlReader for this node. |
![]() | CreateReader(ReaderOptions) | Creates an XmlReader for this node. |
![]() ![]() | DeepEquals | Compares the values of two nodes, including the values of all descendant nodes. |
![]() | ElementsAfterSelf() | Returns a collection of the sibling elements after this node, in document order. |
![]() | ElementsAfterSelf(XName) | Returns a filtered collection of the sibling elements after this node, in document order. Only elements that have a matching XName are included in the collection. |
![]() | ElementsBeforeSelf() | Returns a collection of the sibling elements before this node, in document order. |
![]() | ElementsBeforeSelf(XName) | Returns a filtered collection of the sibling elements before this node, in document order. Only elements that have a matching XName are included in the collection. |
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IsAfter | Determines if the current node appears after a specified node in terms of document order. |
![]() | IsBefore | Determines if the current node appears before a specified node in terms of document order. |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | NodesAfterSelf | Returns a collection of the sibling nodes after this node, in document order. |
![]() | NodesBeforeSelf | Returns a collection of the sibling nodes before this node, in document order. |
![]() ![]() | ReadFrom | Creates an XNode from an XmlReader. |
![]() | Remove | Removes this node from its parent. |
![]() | RemoveAnnotations(Type) | Removes the annotations of the specified type from this XObject. (Inherited from XObject.) |
![]() | RemoveAnnotations<T>() | Removes the annotations of the specified type from this XObject. (Inherited from XObject.) |
![]() | ReplaceWith(Object) | Replaces this node with the specified content. |
![]() | ReplaceWith(array<Object>) | Replaces this node with the specified content. |
![]() | ToString() | Returns the indented XML for this node. (Overrides Object::ToString().) |
![]() | ToString(SaveOptions) | Returns the XML for this node, optionally disabling formatting. |
![]() | WriteTo | Writes this node to an XmlWriter. |
| Name | Description | |
|---|---|---|
![]() ![]() | IXmlLineInfo::HasLineInfo | Gets a value indicating whether or not this XObject has line information. (Inherited from XObject.) |
![]() ![]() | IXmlLineInfo::LineNumber | Gets the line number that the underlying XmlReader reported for this XObject. (Inherited from XObject.) |
![]() ![]() | IXmlLineInfo::LinePosition | Gets the line position that the underlying XmlReader reported for this XObject. (Inherited from XObject.) |
XNode is an abstract common base class for:
XContainer is an abstract common base class for:
Objects of classes that derive from XContainer can contain children nodes.
Note: |
|---|
An XAttribute is not an XNode. Attributes are maintained as a list of name/value pairs on an element. |
If you are writing a complex XML application, such as an XML editor or a word processor that stores content as XML, you will often work at the node level. Typical activities when working at the node level include adding nodes, deleting nodes, transforming nodes, and iterating through axes that return collections of nodes.
The following example creates an XML tree with some elements. It then creates a List<T> of XNode that contains some elements from the XML tree at random. It sorts the list, using this property to retrieve a XNodeDocumentOrderComparer, which implements the System.Collections::IComparer and System.Collections.Generic::IComparer<T> interfaces.








Note: