Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
XNode Class
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Represents the abstract concept of a node (one of: element, comment, document type, processing instruction, or text node) in the XML tree.
Inheritance Hierarchy
System.Object
System.Xml.Linq.XObject
System.Xml.Linq.XNode
System.Xml.Linq.XComment
System.Xml.Linq.XContainer
System.Xml.Linq.XDocumentType
System.Xml.Linq.XProcessingInstruction
System.Xml.Linq.XText
Namespace: System.Xml.Linq
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
Syntax
'Declaration
Public MustInherit Class XNode _
Inherits XObject
public abstract class XNode : XObject
The XNode type exposes the following members.
Properties
| Name | Description | |
|---|---|---|
| Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 | BaseUri | Gets the base URI for this XObject. (Inherited from XObject.) |
| Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 | Document | Gets the XDocument for this XObject. (Inherited from XObject.) |
| Public propertyStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 | DocumentOrderComparer | Gets a comparer that can compare the relative position of two nodes. |
| Public propertyStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 | EqualityComparer | Gets a comparer that can compare two nodes for value equality. |
| Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 | NextNode | Gets the next sibling node of this node. |
| Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 | NodeType | Gets the node type for this XObject. (Inherited from XObject.) |
| Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 | Parent | Gets the parent XElement of this XObject. (Inherited from XObject.) |
| Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 | PreviousNode | Gets the previous sibling node of this node. |
Top
Methods
| Name | Description | |
|---|---|---|
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | AddAfterSelf(Object) | Adds the specified content immediately after this node. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | AddAfterSelf(array<Object[]) | Adds the specified content immediately after this node. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | AddAnnotation | Adds an object to the annotation list of this XObject. (Inherited from XObject.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | AddBeforeSelf(Object) | Adds the specified content immediately before this node. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | AddBeforeSelf(array<Object[]) | Adds the specified content immediately before this node. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Ancestors() | Returns a collection of the ancestor elements of this node. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | 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. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Annotation(Type) | Gets the first annotation object of the specified type from this XObject. (Inherited from XObject.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Annotation<T>() | Get the first annotation object of the specified type from this XObject. (Inherited from XObject.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Annotations(Type) | Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Annotations<T>() | Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.) |
| Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 | CompareDocumentOrder | Compares two nodes to determine their relative XML document order. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | CreateReader() | Creates an XmlReader for this node. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | CreateReader(ReaderOptions) | Creates an XmlReader for this node. |
| Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 | DeepEquals | Compares the values of two nodes, including the values of all descendant nodes. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | ElementsAfterSelf() | Returns a collection of the sibling elements after this node, in document order. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | 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. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | ElementsBeforeSelf() | Returns a collection of the sibling elements before this node, in document order. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | 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. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
| Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | 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.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | GetType | Gets the Type of the current instance. (Inherited from Object.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | IsAfter | Determines if the current node appears after a specified node in terms of document order. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | IsBefore | Determines if the current node appears before a specified node in terms of document order. |
| Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | NodesAfterSelf | Returns a collection of the sibling nodes after this node, in document order. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | NodesBeforeSelf | Returns a collection of the sibling nodes before this node, in document order. |
| Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 | ReadFrom | Creates an XNode from an XmlReader. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Remove | Removes this node from its parent. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | RemoveAnnotations(Type) | Removes the annotations of the specified type from this XObject. (Inherited from XObject.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | RemoveAnnotations<T>() | Removes the annotations of the specified type from this XObject. (Inherited from XObject.) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | ReplaceWith(Object) | Replaces this node with the specified content. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | ReplaceWith(array<Object[]) | Replaces this node with the specified content. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | ToString() | Returns the indented XML for this node. (Overrides Object.ToString().) |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | ToString(SaveOptions) | Returns the XML for this node, optionally disabling formatting. |
| Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | WriteTo | Writes this node to an XmlWriter. |
Top
Events
| Name | Description | |
|---|---|---|
| Public eventSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Changed | Raised when this XObject or any of its descendants have changed. (Inherited from XObject.) |
| Public eventSupported by Silverlight for Windows PhoneSupported by Xbox 360 | Changing | Raised when this XObject or any of its descendants are about to change. (Inherited from XObject.) |
Top
Extension Methods
| Name | Description | |
|---|---|---|
| Public Extension Method | CreateNavigator() | Overloaded. Creates an XPathNavigator for an XNode. (Defined by Extensions.) |
| Public Extension Method | CreateNavigator(XmlNameTable) | Overloaded. Creates an XPathNavigator for an XNode. The XmlNameTable enables more efficient XPath expression processing. (Defined by Extensions.) |
| Public Extension Method | XPathEvaluate(String) | Overloaded. Evaluates an XPath expression. (Defined by Extensions.) |
| Public Extension Method | XPathEvaluate(String, IXmlNamespaceResolver) | Overloaded. Evaluates an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. (Defined by Extensions.) |
| Public Extension Method | XPathSelectElement(String) | Overloaded. Selects an XElement using a XPath expression. (Defined by Extensions.) |
| Public Extension Method | XPathSelectElement(String, IXmlNamespaceResolver) | Overloaded. Selects an XElement using a XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. (Defined by Extensions.) |
| Public Extension Method | XPathSelectElements(String) | Overloaded. Selects a collection of elements using an XPath expression. (Defined by Extensions.) |
| Public Extension Method | XPathSelectElements(String, IXmlNamespaceResolver) | Overloaded. Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. (Defined by Extensions.) |
Top
Explicit Interface Implementations
| Name | Description | |
|---|---|---|
| Explicit interface implemetationPrivate methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 | IXmlLineInfo.HasLineInfo | Gets a value indicating whether or not this XObject has line information. (Inherited from XObject.) |
| Explicit interface implemetationPrivate propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 | IXmlLineInfo.LineNumber | Gets the line number that the underlying XmlReader reported for this XObject. (Inherited from XObject.) |
| Explicit interface implemetationPrivate propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 | IXmlLineInfo.LinePosition | Gets the line position that the underlying XmlReader reported for this XObject. (Inherited from XObject.) |
Top
Remarks
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.
| NoteNote: |
|---|
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.
Examples
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.
Dim output As New StringBuilder
Dim xmlTree As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Dim nodeDictionary As Dictionary(Of XNode, String) = New Dictionary(Of XNode, String)(XNode.EqualityComparer)
nodeDictionary.Add(xmlTree.Element("Child5"), "Child 5 Information")
nodeDictionary.Add(xmlTree.Element("Child3"), "Child 3 Information")
nodeDictionary.Add(xmlTree.Element("Child1"), "Child 1 Information")
Dim str As String = nodeDictionary(xmlTree.Element("Child3"))
output.Append(str)
output.Append(Environment.NewLine)
OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XElement xmlTree = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XElement("Child5", 5)
);
List<XNode> nodeList = new List<XNode>();
nodeList.Add(xmlTree.Element("Child5"));
nodeList.Add(xmlTree.Element("Child3"));
nodeList.Add(xmlTree.Element("Child1"));
// Sort nodes in document order.
nodeList.Sort(XNode.DocumentOrderComparer);
foreach (XElement el in nodeList)
output.Append(el + Environment.NewLine);
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.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.