Aracılığıyla paylaş


XPathNavigator.DeleteSelf Yöntem

Tanım

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.

Şunlara uygulanır