XPathNavigator.DeleteSelf Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli düğümü ve alt düğümlerini siler.
public:
virtual void DeleteSelf();
public virtual void DeleteSelf();
abstract member DeleteSelf : unit -> unit
override this.DeleteSelf : unit -> unit
Public Overridable Sub DeleteSelf ()
Özel durumlar
XPathNavigator, kök düğüm veya ad alanı düğümü gibi silinemeyen bir düğümde konumlandırılır.
XPathNavigator düzenlemeyi desteklemiyor.
Örnekler
Aşağıdaki örnekte price , dosyanın ilk book öğesinin contosoBooks.xml öğesi yöntemi kullanılarak DeleteSelf silinir. öğe silindikten sonra nesnenin XPathNavigator konumu price üst book öğededir.
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)
Örnek, contosoBooks.xml dosyasını giriş olarak alır.
<?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>
Açıklamalar
başarılı XPathNavigator silme işleminde silinen düğümün üst düğümünde konumlandırılır.
Silinen düğüm, basit bir türü belirtilen öğenin içeriği olan bir metin düğümüyse, öğe tür bilgilerini kaybeder. Bu, öğesinde XmlTypeValueType konumlandırıldığında ve TypedValue özelliklerinin sırasıyla ve değerlerine
nullStringEmpty sahip olduğu anlamına gelir.Silinen düğümlere, silinmeden önce üzerlerinde konumlandırılan nesneler erişmeye XPathNavigator devam eder. Ancak silinen alt ağaçtan uzaklaşmaya çalışan yöntemler başarısız olur. Örneğin ve MoveToPrevious yöntemleri, MoveToParent en çok silinen en üst düğüme yerleştirildiğinde XPathNavigator her zaman başarısız olur. Bunun nedeni, silinen düğümün artık XML belgesine bağlı olmamasıdır. Benzer şekilde MoveToNext yöntemi, en alttaki silinmiş düğümde konumlandırılırsa XPathNavigator her zaman başarısız olur.