XDocument Class

XDocument Class

 

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)

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

public class XDocument : XContainer

NameDescription
System_CAPS_pubmethodXDocument()

Initializes a new instance of the XDocument class.

System_CAPS_pubmethodXDocument(Object[])

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

System_CAPS_pubmethodXDocument(XDeclaration, Object[])

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

System_CAPS_pubmethodXDocument(XDocument)

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

NameDescription
System_CAPS_pubpropertyBaseUri

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

System_CAPS_pubpropertyDeclaration

Gets or sets the XML declaration for this document.

System_CAPS_pubpropertyDocument

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

System_CAPS_pubpropertyDocumentType

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

System_CAPS_pubpropertyFirstNode

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

System_CAPS_pubpropertyLastNode

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

System_CAPS_pubpropertyNextNode

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

System_CAPS_pubpropertyNodeType

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

System_CAPS_pubpropertyParent

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

System_CAPS_pubpropertyPreviousNode

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

System_CAPS_pubpropertyRoot

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

NameDescription
System_CAPS_pubmethodAdd(Object)

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

System_CAPS_pubmethodAdd(Object[])

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

System_CAPS_pubmethodAddAfterSelf(Object)

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

System_CAPS_pubmethodAddAfterSelf(Object[])

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

System_CAPS_pubmethodAddAnnotation(Object)

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

System_CAPS_pubmethodAddBeforeSelf(Object)

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

System_CAPS_pubmethodAddBeforeSelf(Object[])

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

System_CAPS_pubmethodAddFirst(Object)

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

System_CAPS_pubmethodAddFirst(Object[])

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

System_CAPS_pubmethodAncestors()

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

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

System_CAPS_pubmethodAnnotation(Type)

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

System_CAPS_pubmethodAnnotation<T>()

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

System_CAPS_pubmethodAnnotations(Type)

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

System_CAPS_pubmethodAnnotations<T>()

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

System_CAPS_pubmethodCreateReader()

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

System_CAPS_pubmethodCreateReader(ReaderOptions)

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

System_CAPS_pubmethodCreateWriter()

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

System_CAPS_pubmethodDescendantNodes()

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

System_CAPS_pubmethodDescendants()

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

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

System_CAPS_pubmethodElement(XName)

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

System_CAPS_pubmethodElements()

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

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

System_CAPS_pubmethodElementsAfterSelf()

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

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

System_CAPS_pubmethodElementsBeforeSelf()

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

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

System_CAPS_pubmethodEquals(Object)

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

System_CAPS_protmethodFinalize()

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_pubmethodGetHashCode()

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

System_CAPS_pubmethodGetType()

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

System_CAPS_pubmethodIsAfter(XNode)

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

System_CAPS_pubmethodIsBefore(XNode)

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

System_CAPS_pubmethodSystem_CAPS_staticLoad(Stream)

Creates a new XDocument instance by using the specified stream.

System_CAPS_pubmethodSystem_CAPS_staticLoad(Stream, LoadOptions)

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

System_CAPS_pubmethodSystem_CAPS_staticLoad(String)

Creates a new XDocument from a file.

System_CAPS_pubmethodSystem_CAPS_staticLoad(String, LoadOptions)

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

System_CAPS_pubmethodSystem_CAPS_staticLoad(TextReader)

Creates a new XDocument from a TextReader.

System_CAPS_pubmethodSystem_CAPS_staticLoad(TextReader, LoadOptions)

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

System_CAPS_pubmethodSystem_CAPS_staticLoad(XmlReader)

Creates a new XDocument from an XmlReader.

System_CAPS_pubmethodSystem_CAPS_staticLoad(XmlReader, LoadOptions)

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

System_CAPS_protmethodMemberwiseClone()

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

System_CAPS_pubmethodNodes()

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

System_CAPS_pubmethodNodesAfterSelf()

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

System_CAPS_pubmethodNodesBeforeSelf()

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

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Creates a new XDocument from a string.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, LoadOptions)

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

System_CAPS_pubmethodRemove()

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

System_CAPS_pubmethodRemoveAnnotations(Type)

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

System_CAPS_pubmethodRemoveAnnotations<T>()

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

System_CAPS_pubmethodRemoveNodes()

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

System_CAPS_pubmethodReplaceNodes(Object)

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

System_CAPS_pubmethodReplaceNodes(Object[])

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

System_CAPS_pubmethodReplaceWith(Object)

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

System_CAPS_pubmethodReplaceWith(Object[])

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

System_CAPS_pubmethodSave(Stream)

Outputs this XDocument to the specified Stream.

System_CAPS_pubmethodSave(Stream, SaveOptions)

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

System_CAPS_pubmethodSave(String)

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

System_CAPS_pubmethodSave(String, SaveOptions)

Serialize this XDocument to a file, optionally disabling formatting.

System_CAPS_pubmethodSave(TextWriter)

Serialize this XDocument to a TextWriter.

System_CAPS_pubmethodSave(TextWriter, SaveOptions)

Serialize this XDocument to a TextWriter, optionally disabling formatting.

System_CAPS_pubmethodSave(XmlWriter)

Serialize this XDocument to an XmlWriter.

System_CAPS_pubmethodToString()

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

System_CAPS_pubmethodToString(SaveOptions)

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

System_CAPS_pubmethodWriteTo(XmlWriter)

Write this document to an XmlWriter.(Overrides XNode.WriteTo(XmlWriter).)

NameDescription
System_CAPS_pubeventChanged

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

System_CAPS_pubeventChanging

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

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIXmlLineInfo.HasLineInfo()

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

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIXmlLineInfo.LineNumber

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

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIXmlLineInfo.LinePosition

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

NameDescription
System_CAPS_pubmethodCreateNavigator()

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

System_CAPS_pubmethodCreateNavigator(XmlNameTable)

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

System_CAPS_pubmethodValidate(XmlSchemaSet, ValidationEventHandler)

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

System_CAPS_pubmethodValidate(XmlSchemaSet, ValidationEventHandler, Boolean)

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_pubmethodXPathEvaluate(String)

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

System_CAPS_pubmethodXPathEvaluate(String, IXmlNamespaceResolver)

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

System_CAPS_pubmethodXPathSelectElement(String)

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

System_CAPS_pubmethodXPathSelectElement(String, IXmlNamespaceResolver)

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

System_CAPS_pubmethodXPathSelectElements(String)

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

System_CAPS_pubmethodXPathSelectElements(String, IXmlNamespaceResolver)

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

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

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 4.5
.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
Show:
© 2016 Microsoft