XPathNavigator.InsertElementAfter(String, String, String, String) Metoda

Definice

Vytvoří nový element na stejné úrovni za aktuálním uzlem pomocí předpony oboru názvů, místního názvu a identifikátoru URI oboru názvů zadané hodnoty.Creates a new sibling element after the current node using the namespace prefix, local name and namespace URI specified, with the value specified.

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

Parametry

prefix
String

Předpona oboru názvů nového podřízeného prvku (pokud existuje).The namespace prefix of the new child element (if any).

localName
String

Místní název nového podřízeného prvku (pokud existuje).The local name of the new child element (if any).

namespaceURI
String

Identifikátor URI oboru názvů nového podřízeného prvku (pokud existuje).The namespace URI of the new child element (if any). Empty a null jsou ekvivalentní.Empty and null are equivalent.

value
String

Hodnota nového podřízeného prvku.The value of the new child element. Pokud Empty nebo null jsou předány, je vytvořen prázdný prvek.If Empty or null are passed, an empty element is created.

Výjimky

Pozice XPathNavigator neumožňuje vložit nový uzel na stejné úrovni, který bude vložen za aktuální uzel.The position of the XPathNavigator does not allow a new sibling node to be inserted after the current node.

Nepodporuje XPathNavigator úpravy.The XPathNavigator does not support editing.

Příklady

V následujícím příkladu pages je nový prvek vložen za price podřízený prvek prvního book prvku v contosoBooks.xml souboru.In the following example a new pages element is inserted after the price child element of the first book element in the contosoBooks.xml file.

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

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

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

Tento příklad přebírá contosoBooks.xml soubor jako vstup.The example takes the contosoBooks.xml file as an input.

<?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>  

Poznámky

Předpony oboru názvů a hodnoty identifikátoru URI lze získat pomocí LookupPrefix LookupNamespace metody nebo.Namespace prefix and URI values can be obtained using the LookupPrefix or LookupNamespace method. Například následující syntaxe vloží element na stejné úrovni pomocí oboru názvů in-scope xmlns:bk="http://www.contoso.com/books" :For example, the following syntax inserts a sibling element by using the in-scope namespace xmlns:bk="http://www.contoso.com/books":

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

Tím se vytvoří nový element na stejné úrovni <bk:pages/> .This creates the new sibling <bk:pages/> element.

V následujícím seznamu jsou důležité poznámky, které je potřeba vzít v úvahu při použití InsertElementAfter metody.The following are important notes to consider when using the InsertElementAfter method.

  • Pokud je zadaná předpona oboru názvů null nebo String.Empty , pak je předpona pro identifikátor URI oboru názvů nového elementu získána z aktuálních oborů názvů v oboru.If the namespace prefix specified is null or String.Empty, then the prefix for the namespace URI of the new element is obtained from the current namespaces in-scope. Pokud není k určenému identifikátoru URI oboru názvů v aktuálním oboru přiřazena žádná předpona oboru názvů, je automaticky vygenerována předpona oboru názvů.If there is no namespace prefix assigned to the specified namespace URI at the current scope, then a namespace prefix is automatically generated.

  • InsertElementAfterMetoda je platná pouze v případě, že XPathNavigator je umístěna v uzlu element, text, instrukce zpracování nebo komentář.The InsertElementAfter method is valid only when the XPathNavigator is positioned on an element, text, processing instruction, or comment node.

  • InsertElementAfterMetoda nemá vliv na pozici XPathNavigator .The InsertElementAfter method does not affect the position of the XPathNavigator.

Platí pro