XDocument Class

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

Represents an XML document.

Inheritance Hierarchy

System.Object
  System.Xml.Linq.XObject
    System.Xml.Linq.XNode
      System.Xml.Linq.XContainer
        System.Xml.Linq.XDocument

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

Syntax

'Declaration
Public Class XDocument _
    Inherits XContainer
public class XDocument : XContainer

The XDocument type exposes the following members.

Constructors

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XDocument() Initializes a new instance of the XDocument class.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XDocument(array<Object[]) Initializes a new instance of the XDocument class with the specified content.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XDocument(XDocument) Initializes a new instance of the XDocument class from an existing XDocument object.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XDocument(XDeclaration, array<Object[]) Initializes a new instance of the XDocument class with the specified XDeclaration and content.

Top

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 Declaration Gets or sets the XML declaration for this document.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 Document Gets the XDocument for this XObject. (Inherited from XObject.)
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 DocumentType Gets the Document Type Definition (DTD) for this document.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 FirstNode Get the first child node of this node. (Inherited from XContainer.)
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 LastNode Get the last child node of this node. (Inherited from XContainer.)
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 NextNode Gets the next sibling node of this node. (Inherited from XNode.)
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 NodeType Gets the node type for this node. (Overrides XObject.NodeType.)
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. (Inherited from XNode.)
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 Root Gets the root element of the XML Tree for this document.

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Add(Object) Adds the specified content as children of this XContainer. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Add(array<Object[]) Adds the specified content as children of this XContainer. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 AddAfterSelf(Object) Adds the specified content immediately after this node. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 AddAfterSelf(array<Object[]) Adds the specified content immediately after this node. (Inherited from XNode.)
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. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 AddBeforeSelf(array<Object[]) Adds the specified content immediately before this node. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 AddFirst(Object) Adds the specified content as the first children of this document or element. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 AddFirst(array<Object[]) Adds the specified content as the first children of this document or element. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Ancestors() Returns a collection of the ancestor elements of this node. (Inherited from XNode.)
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. (Inherited from XNode.)
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 methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 CreateReader() Creates an XmlReader for this node. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 CreateReader(ReaderOptions) Creates an XmlReader for this node. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 CreateWriter Creates an XmlWriter that can be used to add nodes to the XContainer. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 DescendantNodes Returns a collection of the descendant nodes for this document or element, in document order. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Descendants() Returns a collection of the descendant elements for this document or element, in document order. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 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. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Element Gets the first (in document order) child element with the specified XName. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Elements() Returns a collection of the child elements of this element or document, in document order. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 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. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ElementsAfterSelf() Returns a collection of the sibling elements after this node, in document order. (Inherited from XNode.)
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. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ElementsBeforeSelf() Returns a collection of the sibling elements before this node, in document order. (Inherited from XNode.)
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. (Inherited from XNode.)
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. (Inherited from XNode.)
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. (Inherited from XNode.)
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Load(Stream) Creates a new XDocument instance using the specified stream.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Load(String) Creates a new XDocument from a file located in the application's XAP package.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Load(TextReader) Creates a new XDocument from a TextReader.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Load(XmlReader) Creates a new XDocument from an XmlReader.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Load(Stream, LoadOptions) Creates a new XDocument instance using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Load(String, LoadOptions) Creates a new XDocument from a file located in the application's XAP package, optionally preserving white space, setting the base URI, and retaining line information.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Load(TextReader, LoadOptions) Creates a new XDocument from a TextReader, optionally preserving white space, setting the base URI, and retaining line information.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Load(XmlReader, LoadOptions) Creates a new XDocument from an XmlReader, optionally setting the base URI, and retaining line information.
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 Nodes Returns a collection of the child nodes of this element or document, in document order. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 NodesAfterSelf Returns a collection of the sibling nodes after this node, in document order. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 NodesBeforeSelf Returns a collection of the sibling nodes before this node, in document order. (Inherited from XNode.)
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Parse(String) Creates a new XDocument from a string.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Parse(String, LoadOptions) Creates a new XDocument from a string, optionally preserving white space, setting the base URI, and retaining line information.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Remove Removes this node from its parent. (Inherited from XNode.)
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 RemoveNodes Removes the child nodes from this document or element. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ReplaceNodes(Object) Replaces the children nodes of this document or element with the specified content. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ReplaceNodes(array<Object[]) Replaces the children nodes of this document or element with the specified content. (Inherited from XContainer.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ReplaceWith(Object) Replaces this node with the specified content. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ReplaceWith(array<Object[]) Replaces this node with the specified content. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Save(Stream) Outputs this XDocument to the specified Stream.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Save(TextWriter) Serialize this XDocument to a TextWriter.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Save(XmlWriter) Serialize this XDocument to an XmlWriter.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Save(Stream, SaveOptions) Outputs this XDocument to the specified Stream, optionally specifying formatting behavior.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Save(TextWriter, SaveOptions) Serialize this XDocument to a TextWriter, optionally disabling formatting.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ToString() Returns the indented XML for this node. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ToString(SaveOptions) Returns the XML for this node, optionally disabling formatting. (Inherited from XNode.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteTo Write this document to an XmlWriter. (Overrides XNode.WriteTo(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

For more information about the valid content of an XDocument, see Valid Content of XElement and XDocument Objects in the .NET Framework documentation.

Examples

The following example creates a document, and then adds a comment and an element to it. It then composes another document using the results of a query.

Dim output As New StringBuilder
Dim srcTree As XDocument = _
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <!--This is a comment-->
    <Root>
        <Child1>data1</Child1>
        <Child2>data2</Child2>
        <Child3>data3</Child3>
        <Child2>data4</Child2>
        <Info5>info5</Info5>
        <Info6>info6</Info6>
        <Info7>info7</Info7>
        <Info8>info8</Info8>
    </Root>
Dim doc As XDocument = _
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <!--This is a comment-->
    <Root>
        <%= From el In srcTree.<Root>.Elements _
            Where CStr(el).StartsWith("data") _
            Select el %>
    </Root>
output.Append(doc)
output.Append(Environment.NewLine)

OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XDocument srcTree = new XDocument(
    new XComment("This is a comment"),
    new XElement("Root",
        new XElement("Child1", "data1"),
        new XElement("Child2", "data2"),
        new XElement("Child3", "data3"),
        new XElement("Child2", "data4"),
        new XElement("Info5", "info5"),
        new XElement("Info6", "info6"),
        new XElement("Info7", "info7"),
        new XElement("Info8", "info8")
    )
);

XDocument doc = new XDocument(
    new XComment("This is a comment"),
    new XElement("Root",
        from el in srcTree.Element("Root").Elements()
        where ((string)el).StartsWith("data")
        select el
    )
);
output.Append(doc + 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.