XContainer Class
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Represents a node that can contain other nodes.
Inheritance Hierarchy
System.Object
System.Xml.Linq.XObject
System.Xml.Linq.XNode
System.Xml.Linq.XContainer
System.Xml.Linq.XDocument
System.Xml.Linq.XElement
Namespace: System.Xml.Linq
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
Syntax
'Declaration
Public MustInherit Class XContainer _
Inherits XNode
public abstract class XContainer : XNode
The XContainer type exposes the following members.
Properties
Name | Description | |
---|---|---|
BaseUri | Gets the base URI for this XObject. (Inherited from XObject.) | |
Document | Gets the XDocument for this XObject. (Inherited from XObject.) | |
FirstNode | Get the first child node of this node. | |
LastNode | Get the last child node of this node. | |
NextNode | Gets the next sibling node of this node. (Inherited from XNode.) | |
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. (Inherited from XNode.) |
Top
Methods
Name | Description | |
---|---|---|
Add(Object) | Adds the specified content as children of this XContainer. | |
Add(array<Object[]) | Adds the specified content as children of this XContainer. | |
AddAfterSelf(Object) | Adds the specified content immediately after this node. (Inherited from XNode.) | |
AddAfterSelf(array<Object[]) | Adds the specified content immediately after this node. (Inherited from XNode.) | |
AddAnnotation | Adds an object to the annotation list of this XObject. (Inherited from XObject.) | |
AddBeforeSelf(Object) | Adds the specified content immediately before this node. (Inherited from XNode.) | |
AddBeforeSelf(array<Object[]) | Adds the specified content immediately before this node. (Inherited from XNode.) | |
AddFirst(Object) | Adds the specified content as the first children of this document or element. | |
AddFirst(array<Object[]) | Adds the specified content as the first children of this document or element. | |
Ancestors() | Returns a collection of the ancestor elements of this node. (Inherited from XNode.) | |
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. (Inherited from XNode.) | |
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.) | |
CreateReader() | Creates an XmlReader for this node. (Inherited from XNode.) | |
CreateReader(ReaderOptions) | Creates an XmlReader for this node. (Inherited from XNode.) | |
CreateWriter | Creates an XmlWriter that can be used to add nodes to the XContainer. | |
DescendantNodes | Returns a collection of the descendant nodes for this document or element, in document order. | |
Descendants() | Returns a collection of the descendant elements for this document or element, in document order. | |
Descendants(XName) | Returns a filtered collection of the descendant elements for this document or element, in document order. Only elements that have a matching XName are included in the collection. | |
Element | Gets the first (in document order) child element with the specified XName. | |
Elements() | Returns a collection of the child elements of this element or document, in document order. | |
Elements(XName) | Returns a filtered collection of the child elements of this element or document, in document order. Only elements that have a matching XName are included in the collection. | |
ElementsAfterSelf() | Returns a collection of the sibling elements after this node, in document order. (Inherited from XNode.) | |
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. (Inherited from XNode.) | |
ElementsBeforeSelf() | Returns a collection of the sibling elements before this node, in document order. (Inherited from XNode.) | |
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. (Inherited from XNode.) | |
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. (Inherited from XNode.) | |
IsBefore | Determines if the current node appears before a specified node in terms of document order. (Inherited from XNode.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Nodes | Returns a collection of the child nodes of this element or document, in document order. | |
NodesAfterSelf | Returns a collection of the sibling nodes after this node, in document order. (Inherited from XNode.) | |
NodesBeforeSelf | Returns a collection of the sibling nodes before this node, in document order. (Inherited from XNode.) | |
Remove | Removes this node from its parent. (Inherited from XNode.) | |
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.) | |
RemoveNodes | Removes the child nodes from this document or element. | |
ReplaceNodes(Object) | Replaces the children nodes of this document or element with the specified content. | |
ReplaceNodes(array<Object[]) | Replaces the children nodes of this document or element with the specified content. | |
ReplaceWith(Object) | Replaces this node with the specified content. (Inherited from XNode.) | |
ReplaceWith(array<Object[]) | Replaces this node with the specified content. (Inherited from XNode.) | |
ToString() | Returns the indented XML for this node. (Inherited from XNode.) | |
ToString(SaveOptions) | Returns the XML for this node, optionally disabling formatting. (Inherited from XNode.) | |
WriteTo | Writes this node to an XmlWriter. (Inherited from XNode.) |
Top
Events
Name | Description | |
---|---|---|
Changed | Raised when this XObject or any of its descendants have changed. (Inherited from XObject.) | |
Changing | Raised when this XObject or any of its descendants are about to change. (Inherited from XObject.) |
Top
Extension Methods
Name | Description | |
---|---|---|
CreateNavigator() | Overloaded. Creates an XPathNavigator for an XNode. (Defined by Extensions.) | |
CreateNavigator(XmlNameTable) | Overloaded. Creates an XPathNavigator for an XNode. The XmlNameTable enables more efficient XPath expression processing. (Defined by Extensions.) | |
XPathEvaluate(String) | Overloaded. Evaluates an XPath expression. (Defined by Extensions.) | |
XPathEvaluate(String, IXmlNamespaceResolver) | Overloaded. Evaluates an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. (Defined by Extensions.) | |
XPathSelectElement(String) | Overloaded. Selects an XElement using a XPath expression. (Defined by Extensions.) | |
XPathSelectElement(String, IXmlNamespaceResolver) | Overloaded. Selects an XElement using a XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. (Defined by Extensions.) | |
XPathSelectElements(String) | Overloaded. Selects a collection of elements using an XPath expression. (Defined by Extensions.) | |
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 | |
---|---|---|
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.) |
Top
Remarks
This class provides functionality such as finding the next or previous sibling node, or enumerating the direct children of a node.
The two classes that derive from XContainer are XDocument and XElement.
Examples
The following example creates two XML trees, and then uses this method to add the results of a query to one of them.
Dim output As New StringBuilder
Dim srcTree As XElement = _
<Root>
<Element1>1</Element1>
<Element2>2</Element2>
<Element3>3</Element3>
<Element4>4</Element4>
<Element5>5</Element5>
</Root>
Dim xmlTree As XElement = _
<Root>
<NewElement>Content</NewElement>
</Root>
xmlTree.Add( _
From el In srcTree.Elements _
Where CInt(el) >= 3 _
Select el)
output.Append(xmlTree)
output.Append(Environment.NewLine)
OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XElement srcTree = new XElement("Root",
new XElement("Element1", 1),
new XElement("Element2", 2),
new XElement("Element3", 3),
new XElement("Element4", 4),
new XElement("Element5", 5)
);
XElement xmlTree = new XElement("Root",
new XElement("NewElement", "Content")
);
xmlTree.Add(
from el in srcTree.Elements()
where (int)el >= 3
select el
);
output.Append(xmlTree + 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.
See Also