Teilen über


XPathNavigator.InsertBefore Methode

Definition

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

Überlädt

InsertBefore()

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

InsertBefore(String)

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

InsertBefore(XmlReader)

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

InsertBefore(XPathNavigator)

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

InsertBefore()

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

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

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

Gibt zurück

Ein XmlWriter-Objekt, mit dem ein neuer nebengeordneter Knoten vor dem gegenwärtig ausgewählten Knoten erstellt werden kann.

Ausnahmen

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

Der XPathNavigator unterstützt keine Bearbeitung.

Beispiele

Im folgenden Beispiel wird ein neues pages Element vor dem price untergeordneten Element des ersten book Elements in der Datei eingefügt, wobei das XmlWritercontosoBooks.xml von der InsertBefore -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->InsertBefore();
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.InsertBefore();
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.InsertBefore()
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

Die folgenden wichtigen Hinweise sollten bei der Verwendung der InsertBefore -Methode berücksichtigt werden.

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

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

  • Die InsertBefore -Methode wirkt sich nicht auf die Position von aus XPathNavigator.

Gilt für:

InsertBefore(String)

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

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

public:
 virtual void InsertBefore(System::String ^ newSibling);
public virtual void InsertBefore (string newSibling);
abstract member InsertBefore : string -> unit
override this.InsertBefore : string -> unit
Public Overridable Sub InsertBefore (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 vor dem aktuellen Knoten eingefügt wird.

Der XPathNavigator unterstützt keine Bearbeitung.

Der XML-Zeichenfolgenparameter ist nicht ordnungsgemäß formatiert.

Beispiele

Im folgenden Beispiel wird vor dem untergeordneten pages-Element des ersten price-Element in der Datei book ein neues contosoBooks.xml-Element 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->InsertBefore("<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.InsertBefore("<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.InsertBefore("<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 die gesamte XML-Syntax in den XML-Zeichenfolgenparameter ein. Die Zeichenfolge für einen neuen book Knoten ist InsertBefore("<book/>"). Die Zeichenfolge zum Einfügen des Texts "Book" vor dem Textknoten des aktuellen Knotens ist InsertBefore("book"). Wenn die XML-Zeichenfolge mehrere Knoten enthält, werden alle Knoten hinzugefügt.

Die folgenden wichtigen Hinweise sollten bei der Verwendung der InsertBefore -Methode berücksichtigt werden.

Gilt für:

InsertBefore(XmlReader)

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

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

public:
 virtual void InsertBefore(System::Xml::XmlReader ^ newSibling);
public virtual void InsertBefore (System.Xml.XmlReader newSibling);
abstract member InsertBefore : System.Xml.XmlReader -> unit
override this.InsertBefore : System.Xml.XmlReader -> unit
Public Overridable Sub InsertBefore (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 vor 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 vor dem price untergeordneten Element des ersten book Elements in der contosoBooks.xml Datei unter Verwendung des XmlReader angegebenen -Objekts eingefügt. Der http://www.contoso.com/books Namespace wird angegeben, sodass das neue gleichgeordnete Element mit demselben Namespace 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->InsertBefore(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.InsertBefore(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.InsertBefore(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

Die folgenden wichtigen Hinweise sollten bei der Verwendung der InsertBefore -Methode berücksichtigt werden.

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

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

  • Die InsertBefore -Methode wirkt sich nicht auf die Position von aus XPathNavigator.

Gilt für:

InsertBefore(XPathNavigator)

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

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

public:
 virtual void InsertBefore(System::Xml::XPath::XPathNavigator ^ newSibling);
public virtual void InsertBefore (System.Xml.XPath.XPathNavigator newSibling);
abstract member InsertBefore : System.Xml.XPath.XPathNavigator -> unit
override this.InsertBefore : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub InsertBefore (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 vor dem aktuellen Knoten eingefügt wird.

Der XPathNavigator unterstützt keine Bearbeitung.

Beispiele

Im folgenden Beispiel wird ein neues pages Element vor dem price untergeordneten Element des ersten book Elements in der contosoBooks.xml Datei mithilfe des Knotens eingefügt, der XPathNavigator im angegebenen Objekt enthalten ist. Der http://www.contoso.com/books Namespace wird angegeben, sodass das neue gleichgeordnete Element mit demselben Namespace 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->InsertBefore(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.InsertBefore(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.InsertBefore(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

Die folgenden wichtigen Hinweise sollten bei der Verwendung der InsertBefore -Methode berücksichtigt werden.

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

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

  • Die InsertBefore -Methode wirkt sich nicht auf die Position von aus XPathNavigator.

Gilt für: