Teilen über


XPathNavigator.InsertAfter Methode

Definition

Erstellt einen neuen nebengeordneten Knoten nach dem gegenwärtig ausgewählten Knoten.

Überlädt

InsertAfter(XPathNavigator)

Erstellt mithilfe der Knoten im XPathNavigator-Objekt einen neuen nebengeordneten Knoten nach dem gegenwärtig ausgewählten Knoten.

InsertAfter(XmlReader)

Erstellt mit dem XML-Inhalt des angegebenen XmlReader-Objekts einen neuen nebengeordneten Knoten nach dem gegenwärtig ausgewählten Knoten.

InsertAfter()

Gibt ein XmlWriter-Objekt zurück, mit dem ein neuer nebengeordneter Knoten nach dem gegenwärtig ausgewählten Knoten erstellt werden kann.

InsertAfter(String)

Erstellt unter Verwendung der angegebenen XML-Zeichenfolge einen neuen nebengeordneten Knoten nach dem gegenwärtig ausgewählten Knoten.

InsertAfter(XPathNavigator)

Erstellt mithilfe der Knoten im XPathNavigator-Objekt einen neuen nebengeordneten Knoten nach dem gegenwärtig ausgewählten Knoten.

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

Parameter

newSibling
XPathNavigator

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

Ausnahmen

Der XPathNavigator-Objektparameter ist null.

Die Position des XPathNavigator lässt nicht zu, dass ein neuer nebengeordneter Knoten hinter dem aktuellen Knoten eingefügt wird.

Der XPathNavigator unterstützt keine Bearbeitung.

Beispiele

Im folgenden Beispiel wird ein neues pages Element nach dem price untergeordneten Element des ersten book Elements in der contosoBooks.xml XPathNavigator Datei mit dem Knoten eingefügt, der im angegebenen Objekt enthalten ist. Der http://www.contoso.com/books Namespace wird angegeben, damit das neue untergeordnete Element mithilfe desselben Namespaces wie das XML-Dokument eingefü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");
navigator->MoveToChild("price", "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();

navigator->InsertAfter(childNodesNavigator);

navigator->MoveToParent();
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.MoveToChild("price", "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();

navigator.InsertAfter(childNodesNavigator);

navigator.MoveToParent();
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.MoveToChild("price", "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()

navigator.InsertAfter(childNodesNavigator)

navigator.MoveToParent()
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

Im Folgenden sind wichtige Hinweise zur Verwendung der InsertAfter 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 InsertAfter Methode ist nur gültig, wenn die XPathNavigator Position auf einem Element, Text, Verarbeitungsanweisung oder Kommentarknoten positioniert ist.

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

Gilt für

InsertAfter(XmlReader)

Erstellt mit dem XML-Inhalt des angegebenen XmlReader-Objekts einen neuen nebengeordneten Knoten nach dem gegenwärtig ausgewählten Knoten.

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

Parameter

newSibling
XmlReader

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

Ausnahmen

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

Der XmlReader-Objektparameter ist null.

Die Position des XPathNavigator lässt nicht zu, dass ein neuer nebengeordneter Knoten hinter dem aktuellen Knoten eingefügt wird.

Der XPathNavigator unterstützt keine Bearbeitung.

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

Beispiele

Im folgenden Beispiel wird ein neues pages Element nach dem price untergeordneten Element des ersten book Elements in der contosoBooks.xml Datei mit dem XmlReader angegebenen Objekt eingefügt. Der http://www.contoso.com/books Namespace wird angegeben, damit das neue untergeordnete Element mithilfe desselben Namespaces wie das XML-Dokument eingefü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");
navigator->MoveToChild("price", "http://www.contoso.com/books");

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

navigator->InsertAfter(pages);

navigator->MoveToParent();
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.MoveToChild("price", "http://www.contoso.com/books");

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

navigator.InsertAfter(pages);

navigator.MoveToParent();
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.MoveToChild("price", "http://www.contoso.com/books")

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

navigator.InsertAfter(pages)

navigator.MoveToParent()
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

Im Folgenden sind wichtige Hinweise zur Verwendung der InsertAfter 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 InsertAfter Methode ist nur gültig, wenn die XPathNavigator Position auf einem Element, Text, Verarbeitungsanweisung oder Kommentarknoten positioniert ist.

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

Gilt für

InsertAfter()

Gibt ein XmlWriter-Objekt zurück, mit dem ein neuer nebengeordneter Knoten nach dem gegenwärtig ausgewählten Knoten erstellt werden kann.

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

Gibt zurück

XmlWriter

Ein XmlWriter-Objekt, mit dem ein neuer nebengeordneter Knoten nach dem gegenwärtig ausgewählten Knoten erstellt wird.

Ausnahmen

An der gegenwärtigen Position des XPathNavigator kann kein neuer nebengeordneter Knoten nach dem aktuellen Knoten eingefügt werden.

Der XPathNavigator unterstützt keine Bearbeitung.

Beispiele

Im folgenden Beispiel wird ein neues pages Element nach price dem untergeordneten Element des ersten book Elements in der contosoBooks.xml InsertAfter Datei eingefügt, indem das XmlWriter vom 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");
navigator->MoveToChild("price", "http://www.contoso.com/books");

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

navigator->MoveToParent();
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.MoveToChild("price", "http://www.contoso.com/books");

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

navigator.MoveToParent();
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.MoveToChild("price", "http://www.contoso.com/books")

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

navigator.MoveToParent()
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

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

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

  • Die InsertAfter Methode ist nur gültig, wenn die XPathNavigator Position auf einem Element, Text, Verarbeitungsanweisung oder Kommentarknoten positioniert ist.

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

Gilt für

InsertAfter(String)

Erstellt unter Verwendung der angegebenen XML-Zeichenfolge einen neuen nebengeordneten Knoten nach dem gegenwärtig ausgewählten Knoten.

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

Parameter

newSibling
String

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

Ausnahmen

Der XML-Zeichenfolgenparameter ist null.

Die Position des XPathNavigator lässt nicht zu, dass ein neuer nebengeordneter Knoten hinter dem aktuellen Knoten eingefügt wird.

Der XPathNavigator unterstützt keine Bearbeitung.

Der XML-Zeichenfolgenparameter ist nicht ordnungsgemäß formatiert.

Beispiele

Im folgenden Beispiel wird ein neues pages Element nach dem price untergeordneten Element des ersten book Elements in der contosoBooks.xml Datei eingefü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->MoveToChild("price", "http://www.contoso.com/books");

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

navigator->MoveToParent();
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.MoveToChild("price", "http://www.contoso.com/books");

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

navigator.MoveToParent();
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.MoveToChild("price", "http://www.contoso.com/books")

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

navigator.MoveToParent()
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

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 InsertAfter("<book/>"). Die Zeichenfolge zum Einfügen des Textbuchs nach dem Textknoten des aktuellen Knotens .InsertAfter("book") Wenn die XML-Zeichenfolge mehrere Knoten enthält, werden alle Knoten hinzugefügt.

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

Gilt für