XPathNavigator.DeleteSelf Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.