This topic has not yet been rated - Rate this topic

XDocument Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Represents an XML document.

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)
public class XDocument : XContainer

The XDocument type exposes the following members.

  Name Description
Public method Supported by the XNA Framework XDocument() Initializes a new instance of the XDocument class.
Public method Supported by the XNA Framework XDocument(Object[]) Initializes a new instance of the XDocument class with the specified content.
Public method Supported by the XNA Framework XDocument(XDocument) Initializes a new instance of the XDocument class from an existing XDocument object.
Public method Supported by the XNA Framework XDocument(XDeclaration, Object[]) Initializes a new instance of the XDocument class with the specified XDeclaration and content.
Top
  Name Description
Public property Supported by the XNA Framework BaseUri Gets the base URI for this XObject. (Inherited from XObject.)
Public property Supported by the XNA Framework Declaration Gets or sets the XML declaration for this document.
Public property Supported by the XNA Framework Document Gets the XDocument for this XObject. (Inherited from XObject.)
Public property Supported by the XNA Framework DocumentType Gets the Document Type Definition (DTD) for this document.
Public property Supported by the XNA Framework FirstNode Get the first child node of this node. (Inherited from XContainer.)
Public property Supported by the XNA Framework LastNode Get the last child node of this node. (Inherited from XContainer.)
Public property Supported by the XNA Framework NextNode Gets the next sibling node of this node. (Inherited from XNode.)
Public property Supported by the XNA Framework NodeType Gets the node type for this node. (Overrides XObject.NodeType.)
Public property Supported by the XNA Framework Parent Gets the parent XElement of this XObject. (Inherited from XObject.)
Public property Supported by the XNA Framework PreviousNode Gets the previous sibling node of this node. (Inherited from XNode.)
Public property Supported by the XNA Framework Root Gets the root element of the XML Tree for this document.
Top
  Name Description
Public method Supported by the XNA Framework Add(Object) Adds the specified content as children of this XContainer. (Inherited from XContainer.)
Public method Supported by the XNA Framework Add(Object[]) Adds the specified content as children of this XContainer. (Inherited from XContainer.)
Public method Supported by the XNA Framework AddAfterSelf(Object) Adds the specified content immediately after this node. (Inherited from XNode.)
Public method Supported by the XNA Framework AddAfterSelf(Object[]) Adds the specified content immediately after this node. (Inherited from XNode.)
Public method Supported by the XNA Framework AddAnnotation Adds an object to the annotation list of this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework AddBeforeSelf(Object) Adds the specified content immediately before this node. (Inherited from XNode.)
Public method Supported by the XNA Framework AddBeforeSelf(Object[]) Adds the specified content immediately before this node. (Inherited from XNode.)
Public method Supported by the XNA Framework AddFirst(Object) Adds the specified content as the first children of this document or element. (Inherited from XContainer.)
Public method Supported by the XNA Framework AddFirst(Object[]) Adds the specified content as the first children of this document or element. (Inherited from XContainer.)
Public method Supported by the XNA Framework Ancestors() Returns a collection of the ancestor elements of this node. (Inherited from XNode.)
Public method Supported by the XNA Framework 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 method Supported by the XNA Framework Annotation(Type) Gets the first annotation object of the specified type from this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Annotation<T>() Get the first annotation object of the specified type from this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Annotations(Type) Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Annotations<T>() Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework CreateReader() Creates an XmlReader for this node. (Inherited from XNode.)
Public method CreateReader(ReaderOptions) Creates an XmlReader with the options specified by the readerOptions parameter. (Inherited from XNode.)
Public method Supported by the XNA Framework CreateWriter Creates an XmlWriter that can be used to add nodes to the XContainer. (Inherited from XContainer.)
Public method Supported by the XNA Framework DescendantNodes Returns a collection of the descendant nodes for this document or element, in document order. (Inherited from XContainer.)
Public method Supported by the XNA Framework Descendants() Returns a collection of the descendant elements for this document or element, in document order. (Inherited from XContainer.)
Public method Supported by the XNA Framework 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 method Supported by the XNA Framework Element Gets the first (in document order) child element with the specified XName. (Inherited from XContainer.)
Public method Supported by the XNA Framework Elements() Returns a collection of the child elements of this element or document, in document order. (Inherited from XContainer.)
Public method Supported by the XNA Framework 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 method Supported by the XNA Framework ElementsAfterSelf() Returns a collection of the sibling elements after this node, in document order. (Inherited from XNode.)
Public method Supported by the XNA Framework 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 method Supported by the XNA Framework ElementsBeforeSelf() Returns a collection of the sibling elements before this node, in document order. (Inherited from XNode.)
Public method Supported by the XNA Framework 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 method Supported by the XNA Framework Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Supported by the XNA Framework Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Supported by the XNA Framework GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method Supported by the XNA Framework GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Supported by the XNA Framework IsAfter Determines if the current node appears after a specified node in terms of document order. (Inherited from XNode.)
Public method Supported by the XNA Framework IsBefore Determines if the current node appears before a specified node in terms of document order. (Inherited from XNode.)
Public method Static member Load(Stream) Creates a new XDocument instance by using the specified stream.
Public method Static member Supported by the XNA Framework Load(String) Creates a new XDocument from a file.
Public method Static member Supported by the XNA Framework Load(TextReader) Creates a new XDocument from a TextReader.
Public method Static member Supported by the XNA Framework Load(XmlReader) Creates a new XDocument from an XmlReader.
Public method Static member Load(Stream, LoadOptions) Creates a new XDocument instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.
Public method Static member Supported by the XNA Framework Load(String, LoadOptions) Creates a new XDocument from a file, optionally preserving white space, setting the base URI, and retaining line information.
Public method Static member Supported by the XNA Framework Load(TextReader, LoadOptions) Creates a new XDocument from a TextReader, optionally preserving white space, setting the base URI, and retaining line information.
Public method Static member Supported by the XNA Framework Load(XmlReader, LoadOptions) Loads an XElement from an XmlReader, optionally setting the base URI, and retaining line information.
Protected method Supported by the XNA Framework MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Supported by the XNA Framework Nodes Returns a collection of the child nodes of this element or document, in document order. (Inherited from XContainer.)
Public method Supported by the XNA Framework NodesAfterSelf Returns a collection of the sibling nodes after this node, in document order. (Inherited from XNode.)
Public method Supported by the XNA Framework NodesBeforeSelf Returns a collection of the sibling nodes before this node, in document order. (Inherited from XNode.)
Public method Static member Supported by the XNA Framework Parse(String) Creates a new XDocument from a string.
Public method Static member Supported by the XNA Framework Parse(String, LoadOptions) Creates a new XDocument from a string, optionally preserving white space, setting the base URI, and retaining line information.
Public method Supported by the XNA Framework Remove Removes this node from its parent. (Inherited from XNode.)
Public method Supported by the XNA Framework RemoveAnnotations(Type) Removes the annotations of the specified type from this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework RemoveAnnotations<T>() Removes the annotations of the specified type from this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework RemoveNodes Removes the child nodes from this document or element. (Inherited from XContainer.)
Public method Supported by the XNA Framework ReplaceNodes(Object) Replaces the children nodes of this document or element with the specified content. (Inherited from XContainer.)
Public method Supported by the XNA Framework ReplaceNodes(Object[]) Replaces the children nodes of this document or element with the specified content. (Inherited from XContainer.)
Public method Supported by the XNA Framework ReplaceWith(Object) Replaces this node with the specified content. (Inherited from XNode.)
Public method Supported by the XNA Framework ReplaceWith(Object[]) Replaces this node with the specified content. (Inherited from XNode.)
Public method Save(Stream) Outputs this XDocument to the specified Stream.
Public method Supported by the XNA Framework Save(String) Serialize this XDocument to a file, overwriting an existing file, if it exists.
Public method Supported by the XNA Framework Save(TextWriter) Serialize this XDocument to a TextWriter.
Public method Supported by the XNA Framework Save(XmlWriter) Serialize this XDocument to an XmlWriter.
Public method Save(Stream, SaveOptions) Outputs this XDocument to the specified Stream, optionally specifying formatting behavior.
Public method Supported by the XNA Framework Save(String, SaveOptions) Serialize this XDocument to a file, optionally disabling formatting.
Public method Supported by the XNA Framework Save(TextWriter, SaveOptions) Serialize this XDocument to a TextWriter, optionally disabling formatting.
Public method Supported by the XNA Framework ToString() Returns the indented XML for this node. (Inherited from XNode.)
Public method Supported by the XNA Framework ToString(SaveOptions) Returns the XML for this node, optionally disabling formatting. (Inherited from XNode.)
Public method Supported by the XNA Framework WriteTo Write this document to an XmlWriter. (Overrides XNode.WriteTo(XmlWriter).)
Top
  Name Description
Public event Supported by the XNA Framework Changed Raised when this XObject or any of its descendants have changed. (Inherited from XObject.)
Public event Supported by the XNA Framework Changing Raised when this XObject or any of its descendants are about to change. (Inherited from XObject.)
Top
  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 Validate(XmlSchemaSet, ValidationEventHandler) Overloaded. This method validates that an XDocument conforms to an XSD in an XmlSchemaSet. (Defined by Extensions.)
Public Extension Method Validate(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.)
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
  Name Description
Explicit interface implemetation Private method Supported by the XNA Framework IXmlLineInfo.HasLineInfo Gets a value indicating whether or not this XObject has line information. (Inherited from XObject.)
Explicit interface implemetation Private property Supported by the XNA Framework IXmlLineInfo.LineNumber Gets the line number that the underlying XmlReader reported for this XObject. (Inherited from XObject.)
Explicit interface implemetation Private property Supported by the XNA Framework IXmlLineInfo.LinePosition Gets the line position that the underlying XmlReader reported for this XObject. (Inherited from XObject.)
Top

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>

.NET Framework

Supported in: 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8 Consumer Preview, Windows Server 8 Beta, Windows 7, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)