Export (0) Print
Expand All

XDocument Constructor

Initializes a new instance of the XDocument class.

This member is overloaded. For complete information about this member, including syntax, usage, and examples, click a name in the overload list.

  Name Description
Public method XDocument() Initializes a new instance of the XDocument class.
Public method XDocument(Object[]) Initializes a new instance of the XDocument class with the specified content.
Public method XDocument(XDocument) Initializes a new instance of the XDocument class from an existing XDocument object.
Public method XDocument(XDeclaration, Object[]) Initializes a new instance of the XDocument class with the specified XDeclaration and content.
Top

Overloaded constructors enable you to create a new empty XDocument; to create an XDocument with some specified initial content; and to create an XDocument as a copy of another XDocument object.

There are not many scenarios that require you to create an XDocument. Instead, you can usually create your XML trees with an XElement root node. Unless you have a specific requirement to create a document (for example, because you have to create processing instructions and comments at the top level, or you have to support document types), it is often more convenient to use XElement as your root node.

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>
Show:
© 2014 Microsoft