XPathNavigator.InsertElementBefore(String, String, String, String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membuat elemen saudara baru sebelum simpul saat ini menggunakan awalan namespace, nama lokal, dan URI namespace yang ditentukan, dengan nilai yang ditentukan.
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
Awalan namespace dari elemen anak baru (jika ada).
- localName
- String
Nama lokal elemen anak baru (jika ada).
Pengecualian
Posisi XPathNavigator tidak memperbolehkan simpul saudara baru dimasukkan sebelum simpul saat ini.
XPathNavigator tidak mendukung pengeditan.
Contoh
Dalam contoh berikut, pages elemen baru disisipkan sebelum price elemen turunan dari elemen pertama book dalam contosoBooks.xml file.
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)
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.InsertElementBefore(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)
Ini menciptakan elemen saudara <bk:pages/> baru.
Berikut ini adalah catatan penting yang perlu dipertimbangkan InsertElementBefore saat menggunakan metode .
Jika awalan namespace yang ditentukan adalah
nullatau String.Empty, maka awalan untuk URI namespace 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 InsertElementBefore ini hanya valid ketika XPathNavigator diposisikan pada elemen, teks, instruksi pemrosesan, atau simpul komentar.
Metode InsertElementBefore ini tidak mempengaruhi posisi XPathNavigator.