Freigeben über


XPathNavigator.AppendChild Methode

Definition

Erstellt am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens einen neuen untergeordneten Knoten.

Überlädt

AppendChild()

Gibt ein XmlWriter-Objekt zurück, mit dem am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens ein oder mehrere neue untergeordnete Knoten erstellt werden können.

AppendChild(String)

Erstellt unter Verwendung der angegebenen XML-Datenzeichenfolge am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens einen neuen untergeordneten Knoten.

AppendChild(XmlReader)

Erstellt unter Verwendung des XML-Inhalts des angegebenen XmlReader-Objekts am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens einen neuen untergeordneten Knoten.

AppendChild(XPathNavigator)

Erstellt unter Verwendung der Knoten im angegebenen XPathNavigator am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens einen neuen untergeordneten Knoten.

AppendChild()

Gibt ein XmlWriter-Objekt zurück, mit dem am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens ein oder mehrere neue untergeordnete Knoten erstellt werden können.

public:
 virtual System::Xml::XmlWriter ^ AppendChild();
public virtual System.Xml.XmlWriter AppendChild ();
abstract member AppendChild : unit -> System.Xml.XmlWriter
override this.AppendChild : unit -> System.Xml.XmlWriter
Public Overridable Function AppendChild () As XmlWriter

Gibt zurück

XmlWriter

Ein XmlWriter-Objekt, mit dem am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens neue untergeordnete Knoten erstellt werden können.

Ausnahmen

Der aktuelle Knoten, auf dem sich der XPathNavigator befindet, ist weder der Stammknoten noch ein Elementknoten.

Der XPathNavigator unterstützt keine Bearbeitung.

Beispiele

Im folgenden Beispiel wird ein neues pages untergeordnetes Element an die Liste der untergeordneten Elemente des ersten book Elements in der contosoBooks.xml Datei angefügt, indem das XmlWriter von der AppendChild Methode zurückgegebene Objekt verwendet wird.

    XmlDocument^ document = gcnew XmlDocument();
    document->Load("contosoBooks.xml");
    XPathNavigator^ navigator = document->CreateNavigator();

    navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
    navigator->MoveToChild("book", "http://www.contoso.com/books");

    XmlWriter^ pages = navigator->AppendChild();
    pages->WriteElementString("pages", "100");
    pages->Close();

Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

XmlWriter pages = navigator.AppendChild();
pages.WriteElementString("pages", "100");
pages.Close();

Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

Dim pages As XmlWriter = navigator.AppendChild()
pages.WriteElementString("pages", "100")
pages.Close()

Console.WriteLine(navigator.OuterXml)

In diesem Beispiel wird die Datei contosoBooks.xml als Eingabe verwendet.

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Hinweise

Das Anfügen untergeordneter Knoten fügt die neuen Knoten am Ende der Liste der untergeordneten Knoten für den aktuellen Knoten hinzu. Wenn beispielsweise drei untergeordnete Knoten für ein Element vorhanden sind, wird der erste angefügte Knoten zum vierten untergeordneten Knoten. Wenn keine untergeordneten Knoten vorhanden sind, wird ein neuer untergeordneter Knoten erstellt.

Im Folgenden sind wichtige Hinweise zur Verwendung der AppendChild Methode zu berücksichtigen.

  • Der neue untergeordnete Knoten wird erst eingefügt, wenn die Close Methode des XmlWriter Objekts aufgerufen wird.

  • Die AppendChild Methode ist nur gültig, wenn die XPathNavigator Position auf dem Stammknoten oder einem Elementknoten erfolgt.

  • Die AppendChild Methode wirkt sich nicht auf die Position der XPathNavigator.

Sie können mehrere Knoten in den Writer schreiben. Alle Knoten werden am Ende der Liste der untergeordneten Knoten des aktuellen Knotens angefügt.

Gilt für

AppendChild(String)

Erstellt unter Verwendung der angegebenen XML-Datenzeichenfolge am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens einen neuen untergeordneten Knoten.

public:
 virtual void AppendChild(System::String ^ newChild);
public virtual void AppendChild (string newChild);
abstract member AppendChild : string -> unit
override this.AppendChild : string -> unit
Public Overridable Sub AppendChild (newChild As String)

Parameter

newChild
String

Die Zeichenfolge mit XML-Daten für den neuen untergeordneten Knoten.

Ausnahmen

Der Parameter für die XML-Daten ist null.

Der aktuelle Knoten, auf dem sich der XPathNavigator befindet, ist weder der Stammknoten noch ein Elementknoten.

Der XPathNavigator unterstützt keine Bearbeitung.

Der Parameter für die XML-Zeichenfolge ist nicht wohlgeformt.

Beispiele

Im folgenden Beispiel wird der Liste mit untergeordneten Elementen des ersten pages-Elements in der Datei book ein neues untergeordnetes contosoBooks.xml-Element angefügt.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");

navigator->AppendChild("<pages>100</pages>");

Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

navigator.AppendChild("<pages>100</pages>");

Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

navigator.AppendChild("<pages>100</pages>")

Console.WriteLine(navigator.OuterXml)

In diesem Beispiel wird die Datei contosoBooks.xml als Eingabe verwendet.

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Hinweise

Durch Das Anfügen eines untergeordneten Knotens wird der neue Knoten am Ende der Liste der untergeordneten Knoten für den aktuellen Knoten hinzugefügt. Wenn beispielsweise drei untergeordnete Knoten für ein Element vorhanden sind, wird der angefügte Knoten zum vierten untergeordneten Knoten. Wenn keine untergeordneten Knoten vorhanden sind, wird ein neuer untergeordneter Knoten erstellt.

Um einen neuen Elementknoten zu erstellen, schließen Sie alle XML-Syntax im XML-Zeichenfolgenparameter ein. Die Zeichenfolge für einen neuen book Knoten ist AppendChild("<book/>"). Die Zeichenfolge zum Anfügen des Texts "Book" an den Textknoten des aktuellen Knotens lautet AppendChild("book"). Wenn die XML-Zeichenfolge mehrere Knoten enthält, werden alle Knoten hinzugefügt.

Im Folgenden sind wichtige Hinweise zur Verwendung der AppendChild Methode zu berücksichtigen.

Gilt für

AppendChild(XmlReader)

Erstellt unter Verwendung des XML-Inhalts des angegebenen XmlReader-Objekts am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens einen neuen untergeordneten Knoten.

public:
 virtual void AppendChild(System::Xml::XmlReader ^ newChild);
public virtual void AppendChild (System.Xml.XmlReader newChild);
abstract member AppendChild : System.Xml.XmlReader -> unit
override this.AppendChild : System.Xml.XmlReader -> unit
Public Overridable Sub AppendChild (newChild As XmlReader)

Parameter

newChild
XmlReader

Ein XmlReader-Objekt, das auf den XML-Daten für den neuen untergeordneten Knoten positioniert ist.

Ausnahmen

Das XmlReader-Objekt befindet sich in einem Fehlerzustand oder wurde geschlossen.

Der XmlReader-Objektparameter ist null.

Der aktuelle Knoten, auf dem sich der XPathNavigator befindet, ist weder der Stammknoten noch ein Elementknoten.

Der XPathNavigator unterstützt keine Bearbeitung.

Der XML-Inhalt des XmlReader-Objektparameters ist nicht ordnungsgemäß formatiert.

Beispiele

Im folgenden Beispiel wird ein neues pages untergeordnetes Element an die Liste der untergeordneten Elemente des ersten book Elements in der contosoBooks.xml Datei angefügt, wobei das XmlReader angegebene Objekt verwendet wird. Der http://www.contoso.com/books Namespace wird angegeben, damit das neue untergeordnete Element mit demselben Namespace wie das XML-Dokument angefügt wird.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");

XmlReader^ pages = XmlReader::Create(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator->AppendChild(pages);

Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.AppendChild(pages);

Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.AppendChild(pages)

Console.WriteLine(navigator.OuterXml)

In diesem Beispiel wird die Datei contosoBooks.xml als Eingabe verwendet.

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Hinweise

Durch Das Anfügen eines untergeordneten Knotens wird der neue Knoten am Ende der Liste der untergeordneten Knoten für den aktuellen Knoten hinzugefügt. Wenn beispielsweise drei untergeordnete Knoten für ein Element vorhanden sind, wird der angefügte Knoten zum vierten untergeordneten Knoten. Wenn keine untergeordneten Knoten vorhanden sind, wird ein neuer untergeordneter Knoten erstellt.

Im Folgenden sind wichtige Hinweise zur Verwendung der AppendChild Methode zu berücksichtigen.

  • Wenn das XmlReader Objekt über eine Sequenz von XML-Knoten positioniert wird, werden alle Knoten in der Sequenz hinzugefügt.

  • Die AppendChild Methode ist nur gültig, wenn die XPathNavigator Position auf dem Stammknoten oder einem Elementknoten erfolgt.

  • Die AppendChild Methode wirkt sich nicht auf die Position der XPathNavigator.

Gilt für

AppendChild(XPathNavigator)

Erstellt unter Verwendung der Knoten im angegebenen XPathNavigator am Ende der Liste mit untergeordneten Knoten des aktuellen Knotens einen neuen untergeordneten Knoten.

public:
 virtual void AppendChild(System::Xml::XPath::XPathNavigator ^ newChild);
public virtual void AppendChild (System.Xml.XPath.XPathNavigator newChild);
abstract member AppendChild : System.Xml.XPath.XPathNavigator -> unit
override this.AppendChild : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub AppendChild (newChild As XPathNavigator)

Parameter

newChild
XPathNavigator

Ein XPathNavigator-Objekt, das auf dem Knoten positioniert ist, der als neuer untergeordneter Knoten hinzugefügt werden soll.

Ausnahmen

Der XPathNavigator-Objektparameter ist null.

Der aktuelle Knoten, auf dem sich der XPathNavigator befindet, ist weder der Stammknoten noch ein Elementknoten.

Der XPathNavigator unterstützt keine Bearbeitung.

Beispiele

Im folgenden Beispiel wird ein neues pages untergeordnetes Element an die Liste der untergeordneten Elemente des ersten book Elements in der contosoBooks.xml Datei angefügt, wobei der knoten in der XPathNavigator angegebenen Datei enthalten ist. Der http://www.contoso.com/books Namespace wird angegeben, damit das neue untergeordnete Element mit demselben Namespace wie das XML-Dokument angefügt wird.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");

XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();


if (childNodesNavigator->MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator->AppendChild(childNodesNavigator);
}

Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

if(childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator.AppendChild(childNodesNavigator);
}

Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

Dim childNodes As XmlDocument = New XmlDocument()

childNodes.Load(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
Dim childNodesNavigator As XPathNavigator = childNodes.CreateNavigator()

If childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books") Then
    navigator.AppendChild(childNodesNavigator)
End If

Console.WriteLine(navigator.OuterXml)

In diesem Beispiel wird die Datei contosoBooks.xml als Eingabe verwendet.

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Hinweise

Durch Das Anfügen eines untergeordneten Knotens wird der neue Knoten am Ende der Liste der untergeordneten Knoten für den aktuellen Knoten hinzugefügt. Wenn beispielsweise drei untergeordnete Knoten für ein Element vorhanden sind, wird der angefügte Knoten zum vierten untergeordneten Knoten. Wenn keine untergeordneten Knoten vorhanden sind, wird ein neuer untergeordneter Knoten erstellt.

Im Folgenden sind wichtige Hinweise zur Verwendung der AppendChild Methode zu berücksichtigen.

  • Wenn das XPathNavigator Objekt über eine Sequenz von XML-Knoten positioniert wird, werden alle Knoten in der Sequenz hinzugefügt.

  • Die AppendChild Methode ist nur gültig, wenn die XPathNavigator Position auf dem Stammknoten oder einem Elementknoten erfolgt.

  • Die AppendChild Methode wirkt sich nicht auf die Position der XPathNavigator.

Gilt für