XDocument Constructor
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
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 | |
|---|---|---|
|
XDocument() | Initializes a new instance of the XDocument class. |
|
XDocument(Object[]) | Initializes a new instance of the XDocument class with the specified content. |
|
XDocument(XDocument) | Initializes a new instance of the XDocument class from an existing XDocument object. |
|
XDocument(XDeclaration, Object[]) | Initializes a new instance of the XDocument class with the specified XDeclaration and content. |
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 more information about the valid content of an XDocument, see Valid Content of XElement and XDocument Objects in the .NET Framework documentation.
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.
StringBuilder output = new StringBuilder(); 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 ) ); output.Append(doc + Environment.NewLine); OutputTextBlock.Text = output.ToString();