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
Il XPathNavigator est positionné sur un nœud qui ne peut pas être supprimé, tel que le nœud racine ou un nœud d’espace de noms.
La XPathNavigator modification ne prend pas en charge la modification.
Exemples
Dans l’exemple suivant, l’élément price du premier book élément du contosoBooks.xml fichier est supprimé à l’aide de la DeleteSelf méthode. La position de l’objet XPathNavigator après la suppression de l’élément price est sur l’élément parent book .
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 contosoBooks.xml fichier en tant qu’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
Il XPathNavigator est positionné sur le nœud parent du nœud supprimé lors de la 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 qu’en cas de position sur l’élément, les XmlTypepropriétés et TypedValue les propriétés ont les valeurs
null, String et Empty respectivement. ValueTypeLes nœuds supprimés sont toujours accessibles aux XPathNavigator objets placés sur eux avant la suppression. Toutefois, les méthodes qui tentent de s’éloigner de l’arborescence de sous-arborescence supprimée échouent. Par exemple, les MoveToParent méthodes échouent MoveToPrevious toujours lorsque le XPathNavigator nœud le plus supprimé est positionné sur le nœud le plus supprimé. Cela est dû au fait que le nœud supprimé n’est plus connecté au document XML. De même, la MoveToNext méthode échoue toujours si le XPathNavigator nœud le plus supprimé est positionné sur le nœud le plus bas.