Skip to main content
XDocument Class
 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Represents an XML document. For the components and usage of an XDocument object, see XDocument Class Overview.

To browse the .NET Framework source code for this type, see the Reference Source.

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

SystemObject
   System.Xml.LinqXObject
     System.Xml.LinqXNode
       System.Xml.LinqXContainer
        System.Xml.LinqXDocument

public class XDocument : XContainer
public ref class XDocument : XContainer
type XDocument = 
    class
        inherit XContainer
    end
Public Class XDocument
	Inherits XContainer
NameDescription
System_CAPS_pubmethod XDocument

Initializes a new instance of the XDocument class.

System_CAPS_pubmethod XDocument

Initializes a new instance of the XDocument class with the specified content.

System_CAPS_pubmethod XDocument

Initializes a new instance of the XDocument class with the specified XDeclaration and content.

System_CAPS_pubmethod XDocument

Initializes a new instance of the XDocument class from an existing XDocument object.

NameDescription
System_CAPS_pubproperty

Gets the base URI for this XObject.(Inherited from XObject.)

System_CAPS_pubproperty

Gets or sets the XML declaration for this document.

System_CAPS_pubproperty

Gets the XDocument for this XObject.(Inherited from XObject.)

System_CAPS_pubproperty

Gets the Document Type Definition (DTD) for this document.

System_CAPS_pubproperty

Get the first child node of this node.(Inherited from XContainer.)

System_CAPS_pubproperty

Get the last child node of this node.(Inherited from XContainer.)

System_CAPS_pubproperty

Gets the next sibling node of this node.(Inherited from XNode.)

System_CAPS_pubproperty

Gets the node type for this node.(Overrides .)

System_CAPS_pubproperty

Gets the parent XElement of this XObject.(Inherited from XObject.)

System_CAPS_pubproperty

Gets the previous sibling node of this node.(Inherited from XNode.)

System_CAPS_pubproperty

Gets the root element of the XML Tree for this document.

NameDescription
System_CAPS_pubmethod Add

Adds the specified content as children of this XContainer.(Inherited from XContainer.)

System_CAPS_pubmethod Add

Adds the specified content as children of this XContainer.(Inherited from XContainer.)

System_CAPS_pubmethod AddAfterSelf

Adds the specified content immediately after this node.(Inherited from XNode.)

System_CAPS_pubmethod AddAfterSelf

Adds the specified content immediately after this node.(Inherited from XNode.)

System_CAPS_pubmethod AddAnnotation

Adds an object to the annotation list of this XObject.(Inherited from XObject.)

System_CAPS_pubmethod AddBeforeSelf

Adds the specified content immediately before this node.(Inherited from XNode.)

System_CAPS_pubmethod AddBeforeSelf

Adds the specified content immediately before this node.(Inherited from XNode.)

System_CAPS_pubmethod AddFirst

Adds the specified content as the first children of this document or element.(Inherited from XContainer.)

System_CAPS_pubmethod AddFirst

Adds the specified content as the first children of this document or element.(Inherited from XContainer.)

System_CAPS_pubmethod Ancestors

Returns a collection of the ancestor elements of this node.(Inherited from XNode.)

System_CAPS_pubmethod Ancestors

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.)

System_CAPS_pubmethod Annotation

Gets the first annotation object of the specified type from this XObject.(Inherited from XObject.)

System_CAPS_pubmethod Annotation

Get the first annotation object of the specified type from this XObject. (Inherited from XObject.)

System_CAPS_pubmethod Annotations

Gets a collection of annotations of the specified type for this XObject.(Inherited from XObject.)

System_CAPS_pubmethod Annotations

Gets a collection of annotations of the specified type for this XObject.(Inherited from XObject.)

System_CAPS_pubmethod CreateReader

Creates an XmlReader for this node.(Inherited from XNode.)

System_CAPS_pubmethod CreateReader

Creates an XmlReader with the options specified by the readerOptions parameter.(Inherited from XNode.)

System_CAPS_pubmethod CreateWriter

Creates an XmlWriter that can be used to add nodes to the XContainer.(Inherited from XContainer.)

System_CAPS_pubmethod DescendantNodes

Returns a collection of the descendant nodes for this document or element, in document order.(Inherited from XContainer.)

System_CAPS_pubmethod Descendants

Returns a collection of the descendant elements for this document or element, in document order.(Inherited from XContainer.)

System_CAPS_pubmethod Descendants

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.)

System_CAPS_pubmethod Element

Gets the first (in document order) child element with the specified XName.(Inherited from XContainer.)

System_CAPS_pubmethod Elements

Returns a collection of the child elements of this element or document, in document order.(Inherited from XContainer.)

System_CAPS_pubmethod Elements

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.)

System_CAPS_pubmethod ElementsAfterSelf

Returns a collection of the sibling elements after this node, in document order.(Inherited from XNode.)

System_CAPS_pubmethod ElementsAfterSelf

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.)

System_CAPS_pubmethod ElementsBeforeSelf

Returns a collection of the sibling elements before this node, in document order.(Inherited from XNode.)

System_CAPS_pubmethod ElementsBeforeSelf

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.)

System_CAPS_pubmethod Equals

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethod Finalize

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethod GetHashCode

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethod GetType

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethod IsAfter

Determines if the current node appears after a specified node in terms of document order.(Inherited from XNode.)

System_CAPS_pubmethod IsBefore

Determines if the current node appears before a specified node in terms of document order.(Inherited from XNode.)

System_CAPS_pubmethod System_CAPS_static Load

Creates a new XDocument instance by using the specified stream.

System_CAPS_pubmethod System_CAPS_static Load

Creates a new XDocument instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.

System_CAPS_pubmethod System_CAPS_static Load

Creates a new XDocument from a file.

System_CAPS_pubmethod System_CAPS_static Load

Creates a new XDocument from a file, optionally preserving white space, setting the base URI, and retaining line information.

System_CAPS_pubmethod System_CAPS_static Load

Creates a new XDocument from a TextReader.

System_CAPS_pubmethod System_CAPS_static Load

Creates a new XDocument from a TextReader, optionally preserving white space, setting the base URI, and retaining line information.

System_CAPS_pubmethod System_CAPS_static Load

Creates a new XDocument from an XmlReader.

System_CAPS_pubmethod System_CAPS_static Load

Loads an XDocument from an XmlReader, optionally setting the base URI, and retaining line information.

System_CAPS_protmethod MemberwiseClone

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethod Nodes

Returns a collection of the child nodes of this element or document, in document order.(Inherited from XContainer.)

System_CAPS_pubmethod NodesAfterSelf

Returns a collection of the sibling nodes after this node, in document order.(Inherited from XNode.)

System_CAPS_pubmethod NodesBeforeSelf

Returns a collection of the sibling nodes before this node, in document order.(Inherited from XNode.)

System_CAPS_pubmethod System_CAPS_static Parse

Creates a new XDocument from a string.

System_CAPS_pubmethod System_CAPS_static Parse

Creates a new XDocument from a string, optionally preserving white space, setting the base URI, and retaining line information.

System_CAPS_pubmethod Remove

Removes this node from its parent.(Inherited from XNode.)

System_CAPS_pubmethod RemoveAnnotations

Removes the annotations of the specified type from this XObject.(Inherited from XObject.)

System_CAPS_pubmethod RemoveAnnotations

Removes the annotations of the specified type from this XObject.(Inherited from XObject.)

System_CAPS_pubmethod RemoveNodes

Removes the child nodes from this document or element.(Inherited from XContainer.)

System_CAPS_pubmethod ReplaceNodes

Replaces the children nodes of this document or element with the specified content.(Inherited from XContainer.)

System_CAPS_pubmethod ReplaceNodes

Replaces the children nodes of this document or element with the specified content.(Inherited from XContainer.)

System_CAPS_pubmethod ReplaceWith

Replaces this node with the specified content.(Inherited from XNode.)

System_CAPS_pubmethod ReplaceWith

Replaces this node with the specified content.(Inherited from XNode.)

System_CAPS_pubmethod Save

Outputs this XDocument to the specified Stream.

System_CAPS_pubmethod Save

Outputs this XDocument to the specified Stream, optionally specifying formatting behavior.

System_CAPS_pubmethod Save

Serialize this XDocument to a file, overwriting an existing file, if it exists.

System_CAPS_pubmethod Save

Serialize this XDocument to a file, optionally disabling formatting.

System_CAPS_pubmethod Save

Serialize this XDocument to a TextWriter.

System_CAPS_pubmethod Save

Serialize this XDocument to a TextWriter, optionally disabling formatting.

System_CAPS_pubmethod Save

Serialize this XDocument to an XmlWriter.

System_CAPS_pubmethod ToString

Returns the indented XML for this node.(Inherited from XNode.)

System_CAPS_pubmethod ToString

Returns the XML for this node, optionally disabling formatting.(Inherited from XNode.)

System_CAPS_pubmethod WriteTo

Write this document to an XmlWriter.(Overrides XNodeWriteTo.)

NameDescription
System_CAPS_pubevent Changed

Raised when this XObject or any of its descendants have changed.(Inherited from XObject.)

System_CAPS_pubevent Changing

Raised when this XObject or any of its descendants are about to change.(Inherited from XObject.)

NameDescription
System_CAPS_pubinterface System_CAPS_privmethod IXmlLineInfoHasLineInfo

Gets a value indicating whether or not this XObject has line information.(Inherited from XObject.)

System_CAPS_pubinterface System_CAPS_privproperty

Gets the line number that the underlying XmlReader reported for this XObject.(Inherited from XObject.)

System_CAPS_pubinterface System_CAPS_privproperty

Gets the line position that the underlying XmlReader reported for this XObject.(Inherited from XObject.)

NameDescription
System_CAPS_pubmethod CreateNavigator

Overloaded. Creates an XPathNavigator for an XNode.(Defined by Extensions.)

System_CAPS_pubmethod CreateNavigator

Overloaded. Creates an XPathNavigator for an XNode. The XmlNameTable enables more efficient XPath expression processing.(Defined by Extensions.)

System_CAPS_pubmethod ToXPathNavigable

Returns an accessor that allows you to navigate and edit the specified System.Xml.LinqXNode.(Defined by XDocumentExtensions.)

System_CAPS_pubmethod Validate

Overloaded. This method validates that an XDocument conforms to an XSD in an XmlSchemaSet.(Defined by Extensions.)

System_CAPS_pubmethod Validate

Overloaded. Validates that an XDocument conforms to an XSD in an XmlSchemaSet, optionally populating the XML tree with the post-schema-validation infoset (PSVI).(Defined by Extensions.)

System_CAPS_pubmethod XPathEvaluate

Overloaded. Evaluates an XPath expression.(Defined by Extensions.)

System_CAPS_pubmethod XPathEvaluate

Overloaded. Evaluates an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver.(Defined by Extensions.)

System_CAPS_pubmethod XPathSelectElement

Overloaded. Selects an XElement using a XPath expression.(Defined by Extensions.)

System_CAPS_pubmethod XPathSelectElement

Overloaded. Selects an XElement using a XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver.(Defined by Extensions.)

System_CAPS_pubmethod XPathSelectElements

Overloaded. Selects a collection of elements using an XPath expression.(Defined by Extensions.)

System_CAPS_pubmethod XPathSelectElements

Overloaded. Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver.(Defined by Extensions.)

System_CAPS_noteNote

To view the .NET Framework source code for this type, see the Reference Source. You can browse through the source code online, download the reference for offline viewing, and step through the sources (including patches and updates) during debugging; see instructions.

For details about the valid content of an XDocument, see Valid Content of XElement and XDocument Objects1.

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.


                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
    )
);
Console.WriteLine(doc);

                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>
Console.WriteLine(doc)

This example produces the following output:


                <!--This is a comment-->
<Root>
  <Child1>data1</Child1>
  <Child2>data2</Child2>
  <Child3>data3</Child3>
  <Child2>data4</Child2>
</Root>
Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1

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

Return to top