XDocument Constructor

 

Initializes a new instance of the XDocument class.

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

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.

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


                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>
Return to top
Show: