Share via


XPathNavigator.InsertElementAfter(String, String, String, String) Metode

Definisi

Membuat elemen saudara baru setelah simpul saat ini menggunakan awalan namespace, nama lokal, dan URI namespace layanan yang ditentukan, dengan nilai yang ditentukan.

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);
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)

Parameter

prefix
String

Awalan namespace dari elemen anak baru (jika ada).

localName
String

Nama lokal elemen anak baru (jika ada).

namespaceURI
String

URI namespace dari elemen anak baru (jika ada). Empty dan null setara.

value
String

Nilai elemen anak baru. Jika Empty atau null diteruskan, elemen kosong akan dibuat.

Pengecualian

Posisi XPathNavigator tidak memperbolehkan simpul saudara baru dimasukkan setelah simpul saat ini.

XPathNavigator tidak mendukung pengeditan.

Contoh

Dalam contoh berikut, elemen baru pages disisipkan setelah price elemen anak dari elemen pertama book dalam 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)

Contoh menggunakan file contosoBooks.xml sebagai 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>  

Keterangan

Awalan namespace dan nilai URI dapat diperoleh menggunakan LookupPrefix metode atau LookupNamespace . Misalnya, sintaks berikut menyisipkan elemen saudara kandung dengan menggunakan namespace xmlns:bk="http://www.contoso.com/books"dalam cakupan :

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

Ini membuat elemen saudara kandung <bk:pages/> baru.

Berikut ini adalah catatan penting yang perlu dipertimbangkan saat menggunakan metode .InsertElementAfter

  • Jika awalan namespace yang ditentukan adalah null atau String.Empty, maka awalan untuk URI namespace dari elemen baru diperoleh dari namespace saat ini dalam cakupan. Jika tidak ada awalan namespace yang ditetapkan ke URI namespace yang ditentukan pada cakupan saat ini, maka awalan namespace akan dibuat secara otomatis.

  • Metode InsertElementAfter ini hanya valid ketika XPathNavigator diposisikan pada elemen, teks, instruksi pemrosesan, atau simpul komentar.

  • Metode InsertElementAfter ini tidak mempengaruhi posisi XPathNavigator.

Berlaku untuk