XPathNavigator.DeleteSelf Methode

Definitie

Hiermee verwijdert u het huidige knooppunt en de onderliggende knooppunten.

public:
 virtual void DeleteSelf();
public virtual void DeleteSelf();
abstract member DeleteSelf : unit -> unit
override this.DeleteSelf : unit -> unit
Public Overridable Sub DeleteSelf ()

Uitzonderingen

De XPathNavigator positie is op een knooppunt dat niet kan worden verwijderd, zoals het hoofdknooppunt of een naamruimteknooppunt.

De XPathNavigator bewerking wordt niet ondersteund.

Voorbeelden

In het volgende voorbeeld wordt het price element van het eerste book element van het contosoBooks.xml bestand verwijderd met behulp van de DeleteSelf methode. De positie van het XPathNavigator object nadat het price element is verwijderd, bevindt zich op het bovenliggende book element.

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)

In het voorbeeld wordt het contosoBooks.xml bestand als invoer gebruikt.

<?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>

Opmerkingen

  • De XPathNavigator positie bevindt zich op het bovenliggende knooppunt van het verwijderde knooppunt bij een geslaagde verwijdering.

  • Als het verwijderde knooppunt een tekstknooppunt is dat de inhoud van een eenvoudig getypt element is, verliest het element de typegegevens. Dit betekent dat bij positie op het element de XmlTypeen ValueTypeTypedValue eigenschappen de waarden en respectievelijk de waarden nullStringEmpty hebben.

  • Verwijderde knooppunten zijn nog steeds toegankelijk voor XPathNavigator objecten die erboven staan voordat ze worden verwijderd. Methoden die proberen weg te gaan van de verwijderde substructuur, mislukken echter. De methoden en MoveToParent methoden mislukken bijvoorbeeld MoveToPrevious altijd wanneer het XPathNavigator boven het meest verwijderde knooppunt wordt weergegeven. Dit komt doordat het verwijderde knooppunt niet meer is verbonden met het XML-document. Op dezelfde manier mislukt de MoveToNext methode altijd als de XPathNavigator methode op het onderste verwijderde knooppunt wordt weergegeven.

Van toepassing op