XPathNavigator.DeleteSelf Metod

Definition

Tar bort den aktuella noden och dess underordnade noder.

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

Undantag

XPathNavigator Är placerad på en nod som inte kan tas bort, till exempel rotnoden eller en namnområdesnod.

Stöder XPathNavigator inte redigering.

Exempel

I följande exempel tas elementet price i det första book elementet i contosoBooks.xml filen bort med hjälp av DeleteSelf metoden . Objektets XPathNavigator position när elementet price har tagits bort finns på det överordnade book elementet.

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)

Exemplet tar contosoBooks.xml filen som indata.

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

Kommentarer

  • XPathNavigator Är placerad på den borttagna nodens överordnade nod vid lyckad borttagning.

  • Om den borttagna noden är en textnod som är innehållet i ett enkelt skrivet element förlorar elementet sin typinformation. Det innebär att när de placeras på elementet XmlTypehar egenskaperna , ValueType och TypedValue värdena nullrespektive StringEmpty .

  • Borttagna noder är fortfarande tillgängliga för XPathNavigator objekt som placerats över dem innan de tas bort. Men metoder som försöker flytta bort från det borttagna underträdet misslyckas. Till exempel MoveToParent misslyckas metoderna och MoveToPrevious alltid när XPathNavigator är placerad över den översta mest borttagna noden. Det beror på att den borttagna noden inte längre är ansluten till XML-dokumentet. MoveToNext På samma sätt misslyckas metoden alltid om XPathNavigator den är placerad på den längst nedersta borttagna noden.

Gäller för