XPathNavigator.DeleteSelf 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.
Menghapus simpul saat ini dan simpul turunannya.
public:
virtual void DeleteSelf();
public virtual void DeleteSelf();
abstract member DeleteSelf : unit -> unit
override this.DeleteSelf : unit -> unit
Public Overridable Sub DeleteSelf ()
Pengecualian
XPathNavigator diposisikan pada simpul yang tidak dapat dihapus seperti simpul akar atau node namespace.
XPathNavigator Tidak mendukung pengeditan.
Contoh
Dalam contoh price berikut, elemen elemen contosoBooks.xml pertama book file dihapus menggunakan DeleteSelf metode . Posisi XPathNavigator objek setelah price elemen dihapus ada di elemen induk book .
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.DeleteSelf();
Console.WriteLine("Position after delete: {0}", navigator.Name);
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.DeleteSelf()
Console.WriteLine("Position after delete: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)
Contoh mengambil contosoBooks.xml file 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
XPathNavigator diposisikan pada node induk simpul yang dihapus pada penghapusan yang berhasil.
Jika simpul yang dihapus adalah simpul teks yang merupakan konten dari elemen yang ditik sederhana, elemen kehilangan informasi jenisnya. Ini berarti bahwa ketika diposisikan pada elemen XmlTypeproperti , ValueType dan TypedValue memiliki nilai
null, String dan Empty masing-masing.Simpul yang dihapus masih dapat diakses oleh XPathNavigator objek yang diposisikan di atasnya sebelum penghapusan. Namun metode yang mencoba untuk menjauh dari sub-pohon yang dihapus gagal. Misalnya, MoveToParent metode dan MoveToPrevious selalu gagal ketika XPathNavigator diposisikan di atas node yang paling banyak dihapus. Ini karena simpul yang dihapus tidak lagi tersambung ke dokumen XML. Demikian MoveToNext pula metode selalu gagal jika XPathNavigator diposisikan pada node paling bawah yang dihapus.