XPathNavigator.InsertElementBefore(String, String, String, String) Methode

Definition

Erstellt ein neues gleichgeordnetes Element vor dem aktuellen Knoten unter Verwendung des Namespacepräfixes, des lokalen Namens und des Namespace-URI, der mit dem angegebenen Wert angegeben ist.

public:
 virtual void InsertElementBefore(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void InsertElementBefore(string? prefix, string localName, string? namespaceURI, string? value);
public virtual void InsertElementBefore(string prefix, string localName, string namespaceURI, string value);
abstract member InsertElementBefore : string * string * string * string -> unit
override this.InsertElementBefore : string * string * string * string -> unit
Public Overridable Sub InsertElementBefore (prefix As String, localName As String, namespaceURI As String, value As String)

Parameter

prefix
String

Das Namespacepräfix des neuen untergeordneten Elements (falls vorhanden).

localName
String

Der lokale Name des neuen untergeordneten Elements (falls vorhanden).

namespaceURI
String

Der Namespace-URI des neuen untergeordneten Elements (falls vorhanden). Empty und null sind gleichwertig.

value
String

Der Wert des neuen untergeordneten Elements. Wenn Empty oder null übergeben wird, wird ein leeres Element erstellt.

Ausnahmen

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

Die XPathNavigator Bearbeitung wird nicht unterstützt.

Beispiele

Im folgenden Beispiel wird ein neues pages Element vor dem price untergeordneten Element des ersten book Elements in der contosoBooks.xml Datei eingefügt.

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.InsertElementBefore(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");

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.InsertElementBefore(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

Im Beispiel wird die contosoBooks.xml Datei 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

Namespacepräfix- und URI-Werte können mit der LookupPrefix oder LookupNamespace der Methode abgerufen werden. Die folgende Syntax fügt z. B. ein gleichgeordnetes Element mithilfe des In-Scope-Namespaces xmlns:bk="http://www.contoso.com/books"ein:

navigator.InsertElementBefore(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)

Dadurch wird das neue gleichgeordnete <bk:pages/> Element erstellt.

Im Folgenden finden Sie wichtige Hinweise, die Sie bei der Verwendung der InsertElementBefore Methode berücksichtigen sollten.

  • Ist das angegebene Namespacepräfix oder nullString.Empty, wird das Präfix für den Namespace-URI des neuen Elements aus den aktuellen Namespaces im Gültigkeitsbereich abgerufen. Wenn dem angegebenen Namespace-URI im aktuellen Bereich kein Namespacepräfix zugewiesen ist, wird automatisch ein Namespacepräfix generiert.

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

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

Gilt für: