XPathNavigator.DeleteSelf Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odstraní aktuální uzel a jeho podřízené uzly.
public:
virtual void DeleteSelf();
public virtual void DeleteSelf();
abstract member DeleteSelf : unit -> unit
override this.DeleteSelf : unit -> unit
Public Overridable Sub DeleteSelf ()
Výjimky
Je XPathNavigator umístěn na uzlu, který nelze odstranit, jako je kořenový uzel nebo uzel oboru názvů.
Nepodporuje XPathNavigator úpravy.
Příklady
V následujícím příkladu je price prvek prvního book prvku contosoBooks.xml souboru odstraněn pomocí DeleteSelf metody. Pozice objektu XPathNavigator po odstranění elementu price je na nadřazený book prvek.
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)
Příklad vezme contosoBooks.xml soubor jako vstup.
<?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>
Poznámky
Umístí se XPathNavigator na nadřazený uzel odstraněného uzlu při úspěšném odstranění.
Pokud je odstraněný uzel textovým uzlem, který je obsahem jednoduchého typového prvku, prvek ztratí informace o typu. To znamená, že při umístění na elementu XmlTypeValueType , a TypedValue vlastnosti mají hodnoty
null, String a Empty v uvedeném pořadí.Odstraněné uzly jsou stále přístupné XPathNavigator pro objekty umístěné před odstraněním. Metody, které se však pokusí přesunout mimo odstraněný pod strom, selžou. Například metody a MoveToPrevious metody vždy selžou, MoveToParent když XPathNavigator je umístěn na nejvyšší odstraněný uzel. Důvodem je to, že odstraněný uzel už není připojený k dokumentu XML. MoveToNext Podobně metoda vždy selže, pokud XPathNavigator je umístěna na nejspodnější odstraněný uzel.