XPathNavigator.DeleteSelf Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Supprime le nœud actuel et ses nœuds enfants.
public:
virtual void DeleteSelf();
public virtual void DeleteSelf ();
abstract member DeleteSelf : unit -> unit
override this.DeleteSelf : unit -> unit
Public Overridable Sub DeleteSelf ()
Exceptions
XPathNavigator est positionné sur un nœud qui ne peut pas être supprimé, par exemple le nœud racine ou un nœud d'espace de noms.
Le XPathNavigator ne prend pas en charge la modification.
Exemples
Dans l’exemple suivant, l’élément price
du premier book
élément du fichier est supprimé à l’aide contosoBooks.xml
de la DeleteSelf méthode . Après la suppression de l'élément XPathNavigator, l'objet price
est positionné sur l'élément book
parent.
XmlDocument^ document = gcnew 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);
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)
L'exemple prend le fichier contosoBooks.xml
comme entrée.
<?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>
Remarques
XPathNavigator est positionné sur le nœud parent du nœud supprimé en cas de suppression réussie.
Si le nœud supprimé est un nœud de texte qui est le contenu d’un élément typé simple, l’élément perd ses informations de type. Cela signifie que, lorsqu’elles sont positionnées sur l’élément , les XmlTypepropriétés et TypedValue ont respectivement les valeurs
null
, String et Empty . ValueTypeLes nœuds supprimés sont toujours accessibles aux XPathNavigator objets positionnés sur eux avant la suppression. Toutefois, les méthodes qui tentent de s’éloigner de la sous-arborescence supprimée échouent. Par exemple, les MoveToParent méthodes et MoveToPrevious échouent toujours lorsque le XPathNavigator est positionné sur le nœud le plus supprimé. En effet, le nœud supprimé n’est plus connecté au document XML. De même, la MoveToNext méthode échoue toujours si le XPathNavigator est positionné sur le nœud le plus supprimé en bas.