Freigeben über


XDocument Konstruktoren

Definition

Initialisiert eine neue Instanz der XDocument-Klasse.

Überlädt

XDocument()

Initialisiert eine neue Instanz der XDocument-Klasse.

XDocument(Object[])

Initialisiert eine neue Instanz der XDocument-Klasse mit dem angegebenen Inhalt.

XDocument(XDocument)

Initialisiert eine neue Instanz der XDocument-Klasse mit einem vorhandenen XDocument-Objekt.

XDocument(XDeclaration, Object[])

Initialisiert eine neue Instanz der XDocument-Klasse mit der angegebenen XDeclaration und dem angegebenen Inhalt.

Beispiele

Im folgenden Beispiel wird ein Dokument erstellt und anschließend ein Kommentar und ein Element hinzugefügt. Anschließend wird ein anderes Dokument mithilfe der Ergebnisse einer Abfrage erstellt.

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

Dieses Beispiel erzeugt die folgende Ausgabe:

<!--This is a comment-->  
<Root>  
  <Child1>data1</Child1>  
  <Child2>data2</Child2>  
  <Child3>data3</Child3>  
  <Child2>data4</Child2>  
</Root>  

Hinweise

Überladene Konstruktoren ermöglichen es Ihnen, ein neues leeres XDocumentObjekt zu erstellen; eine mit einigen angegebenen anfangs angegebenen Inhalten zu erstellen und eine XDocument Kopie eines anderen XDocument Objekts zu erstellenXDocument.

Die Anzahl der Szenarios, in denen Sie ein XDocument erstellen müssen, ist sehr begrenzt. Stattdessen können Sie i. d. R. die XML-Strukturen mit einem XElement-Stammknoten erstellen. Sofern es keine bestimmte Anforderung für das Erstellen eines Dokuments gibt (z. B., weil Sie Verarbeitungsanweisungen und Kommentare auf der obersten Ebene erstellen oder Dokumenttypen unterstützen müssen), ist es oft bequemer, XElement als Stammknoten zu verwenden.

Ausführliche Informationen zum gültigen Inhalt eines XDocumentObjekts finden Sie unter Gültiger Inhalt von XElement- und XDocument-Objekten.

XDocument()

Initialisiert eine neue Instanz der XDocument-Klasse.

public:
 XDocument();
public XDocument ();
Public Sub New ()

Beispiele

Im folgenden Beispiel wird ein neues Dokument erstellt und anschließend ein Kommentar und ein Element hinzugefügt.

XDocument doc = new XDocument();  
doc.Add(new XComment("This is a comment"));  
doc.Add(new XElement("Root", "content"));  
Console.WriteLine(doc);  
Dim doc As XDocument = New XDocument()  
doc.Add(<!--This is a comment-->)  
doc.Add(<Root>content</Root>)  
Console.WriteLine(doc)  

Dieses Beispiel erzeugt die folgende Ausgabe:

<!--This is a comment-->  
<Root>content</Root>  

Hinweise

Die Anzahl der Szenarios, in denen Sie ein XDocument erstellen müssen, ist sehr begrenzt. Stattdessen können Sie i. d. R. die XML-Strukturen mit einem XElement-Stammknoten erstellen. Sofern es keine bestimmte Anforderung für das Erstellen eines Dokuments gibt (z. B., weil Sie Verarbeitungsanweisungen und Kommentare auf der obersten Ebene erstellen oder Dokumenttypen unterstützen müssen), ist es oft bequemer, XElement als Stammknoten zu verwenden.

Ausführliche Informationen zum gültigen Inhalt eines XDocumentObjekts finden Sie unter Gültiger Inhalt von XElement- und XDocument-Objekten.

Siehe auch

Gilt für

XDocument(Object[])

Initialisiert eine neue Instanz der XDocument-Klasse mit dem angegebenen Inhalt.

public:
 XDocument(... cli::array <System::Object ^> ^ content);
public XDocument (params object[] content);
public XDocument (params object?[] content);
new System.Xml.Linq.XDocument : obj[] -> System.Xml.Linq.XDocument
Public Sub New (ParamArray content As Object())

Parameter

content
Object[]

Eine Parameterliste von Inhaltsobjekten, die diesem Dokument hinzugefügt werden sollen.

Beispiele

Im folgenden Beispiel wird ein Dokument erstellt und anschließend ein Kommentar und ein Element hinzugefügt. Anschließend wird ein anderes Dokument mithilfe der Ergebnisse einer Abfrage erstellt.

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

Dieses Beispiel erzeugt die folgende Ausgabe:

<!--This is a comment-->  
<Root>  
  <Child1>data1</Child1>  
  <Child2>data2</Child2>  
  <Child3>data3</Child3>  
  <Child2>data4</Child2>  
</Root>  

Hinweise

Die Anzahl der Szenarios, in denen Sie ein XDocument erstellen müssen, ist sehr begrenzt. Stattdessen können Sie i. d. R. die XML-Strukturen mit einem XElement-Stammknoten erstellen. Sofern es keine bestimmte Anforderung für das Erstellen eines Dokuments gibt (z. B., weil Sie Verarbeitungsanweisungen und Kommentare auf der obersten Ebene erstellen oder Dokumenttypen unterstützen müssen), ist es oft bequemer, XElement als Stammknoten zu verwenden.

Ausführliche Informationen zum gültigen Inhalt eines XDocumentObjekts finden Sie unter Gültiger Inhalt von XElement- und XDocument-Objekten.

Siehe auch

Gilt für

XDocument(XDocument)

Initialisiert eine neue Instanz der XDocument-Klasse mit einem vorhandenen XDocument-Objekt.

public:
 XDocument(System::Xml::Linq::XDocument ^ other);
public XDocument (System.Xml.Linq.XDocument other);
new System.Xml.Linq.XDocument : System.Xml.Linq.XDocument -> System.Xml.Linq.XDocument
Public Sub New (other As XDocument)

Parameter

other
XDocument

Das XDocument-Objekt, das kopiert wird.

Hinweise

Sie verwenden diesen Konstruktor, um eine tiefe Kopie einer XDocument.

Dieser Konstruktor durchläuft alle Knoten und Attribute im dokument, das im other Parameter angegeben ist, und erstellt Kopien aller Knoten, während er die neu initialisierte zusammenfügt XDocument.

Siehe auch

Gilt für

XDocument(XDeclaration, Object[])

Initialisiert eine neue Instanz der XDocument-Klasse mit der angegebenen XDeclaration und dem angegebenen Inhalt.

public:
 XDocument(System::Xml::Linq::XDeclaration ^ declaration, ... cli::array <System::Object ^> ^ content);
public XDocument (System.Xml.Linq.XDeclaration declaration, params object[] content);
public XDocument (System.Xml.Linq.XDeclaration? declaration, params object[] content);
public XDocument (System.Xml.Linq.XDeclaration? declaration, params object?[] content);
new System.Xml.Linq.XDocument : System.Xml.Linq.XDeclaration * obj[] -> System.Xml.Linq.XDocument
Public Sub New (declaration As XDeclaration, ParamArray content As Object())

Parameter

declaration
XDeclaration

Eine XDeclaration für das Dokument.

content
Object[]

Der Inhalt des Dokuments.

Beispiele

Im folgenden Beispiel wird dieser Konstruktor zum Erstellen eines Dokuments verwendet.

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 XDeclaration("1.0", "utf-8", "yes"),  
    new XComment("This is a new comment"),  
    new XElement("Root",  
        from el in srcTree.Element("Root").Elements()  
        where ((string)el).StartsWith("data")  
        select el  
    )  
);  
doc.Save("Test.xml");  
Console.WriteLine(File.ReadAllText("Test.xml"));  
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 new comment-->  
        <Root>  
            <%= From el In srcTree.<Root>.Elements _  
                Where CStr(el).StartsWith("data") _  
                Select el %>  
        </Root>  
doc.Save("Test.xml")  
Console.WriteLine(File.ReadAllText("Test.xml"))  

Dieses Beispiel erzeugt die folgende Ausgabe:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<!--This is a new comment-->  
<Root>  
  <Child1>data1</Child1>  
  <Child2>data2</Child2>  
  <Child3>data3</Child3>  
  <Child2>data4</Child2>  
</Root>  

Hinweise

Die Anzahl der Szenarios, in denen Sie ein XDocument erstellen müssen, ist sehr begrenzt. Stattdessen können Sie i. d. R. die XML-Strukturen mit einem XElement-Stammknoten erstellen. Sofern es keine bestimmte Anforderung für das Erstellen eines Dokuments gibt (z. B., weil Sie Verarbeitungsanweisungen und Kommentare auf der obersten Ebene erstellen oder Dokumenttypen unterstützen müssen), ist es oft bequemer, XElement als Stammknoten zu verwenden.

Ausführliche Informationen zum gültigen Inhalt eines XDocumentObjekts finden Sie unter Gültiger Inhalt von XElement- und XDocument-Objekten.

Siehe auch

Gilt für