XPathNavigator.ReplaceRange(XPathNavigator) Methode

Definitie

Vervangt een bereik van knooppunten op hetzelfde niveau van het huidige knooppunt naar het opgegeven knooppunt.

public:
 virtual System::Xml::XmlWriter ^ ReplaceRange(System::Xml::XPath::XPathNavigator ^ lastSiblingToReplace);
public virtual System.Xml.XmlWriter ReplaceRange(System.Xml.XPath.XPathNavigator lastSiblingToReplace);
abstract member ReplaceRange : System.Xml.XPath.XPathNavigator -> System.Xml.XmlWriter
override this.ReplaceRange : System.Xml.XPath.XPathNavigator -> System.Xml.XmlWriter
Public Overridable Function ReplaceRange (lastSiblingToReplace As XPathNavigator) As XmlWriter

Parameters

lastSiblingToReplace
XPathNavigator

Een XPathNavigator positie op het laatste knooppunt op hetzelfde niveau in het bereik dat moet worden vervangen.

Retouren

Een XmlWriter object dat wordt gebruikt om het vervangingsbereik op te geven.

Uitzonderingen

De XPathNavigator opgegeven is null.

De XPathNavigator bewerking wordt niet ondersteund.

Het laatste knooppunt dat moet worden vervangen, is geen geldig knooppunt op hetzelfde niveau van het huidige knooppunt.

Voorbeelden

In het volgende voorbeeld worden de eerste en tweede book elementen van het contosoBooks.xml bestand vervangen door een nieuw leeg book element met behulp van de ReplaceRange methode.

XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

XmlNamespaceManager manager = new XmlNamespaceManager(document.NameTable);
manager.AddNamespace("bk", "http://www.contoso.com/books");

XPathNavigator first = navigator.SelectSingleNode("/bk:bookstore/bk:book[1]", manager);
XPathNavigator last = navigator.SelectSingleNode("/bk:bookstore/bk:book[2]", manager);

navigator.MoveTo(first);
XmlWriter newRange = navigator.ReplaceRange(last);
newRange.WriteStartElement("book");
newRange.WriteAttributeString("genre", "");
newRange.WriteAttributeString("publicationdate", "2005-04-07");
newRange.WriteAttributeString("ISBN", "0");
newRange.WriteStartElement("title");
newRange.WriteString("New Book");
newRange.WriteEndElement();
newRange.WriteStartElement("author");
newRange.WriteStartElement("first-name");
newRange.WriteString("First Name");
newRange.WriteEndElement();
newRange.WriteStartElement("last-name");
newRange.WriteString("Last Name");
newRange.WriteEndElement();
newRange.WriteEndElement();
newRange.WriteElementString("price", "$0.00");
newRange.WriteEndElement();
newRange.Close();
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

Dim manager As XmlNamespaceManager = New XmlNamespaceManager(document.NameTable)
manager.AddNamespace("bk", "http://www.contoso.com/books")

Dim first As XPathNavigator = navigator.SelectSingleNode("/bk:bookstore/bk:book[1]", manager)
Dim last As XPathNavigator = navigator.SelectSingleNode("/bk:bookstore/bk:book[2]", manager)

navigator.MoveTo(first)
Dim newRange As XmlWriter = navigator.ReplaceRange(last)
newRange.WriteStartElement("book")
newRange.WriteAttributeString("genre", "")
newRange.WriteAttributeString("publicationdate", "2005-04-07")
newRange.WriteAttributeString("ISBN", "0")
newRange.WriteStartElement("title")
newRange.WriteString("New Book")
newRange.WriteEndElement()
newRange.WriteStartElement("author")
newRange.WriteStartElement("first-name")
newRange.WriteString("First Name")
newRange.WriteEndElement()
newRange.WriteStartElement("last-name")
newRange.WriteString("Last Name")
newRange.WriteEndElement()
newRange.WriteEndElement()
newRange.WriteElementString("price", "$0.00")
newRange.WriteEndElement()
newRange.Close()
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 ReplaceRange methode vervangt een bereik van knooppunten op hetzelfde niveau van het huidige knooppunt dat XPathNavigator op (inclusief) is ingesteld op het knooppunt dat is opgegeven door de XPathNavigator parameter (inclusief).

Note

Het vervangingsbereik wordt pas ingevoegd als de Close methode van het XmlWriter object wordt aangeroepen.

Van toepassing op