XPathNavigator.ReplaceRange(XPathNavigator) 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í.
Nahradí rozsah uzlů na stejné úrovni z aktuálního uzlu na zadaný uzel.
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
Parametry
- lastSiblingToReplace
- XPathNavigator
Umístění XPathNavigator na posledním uzlu na stejné úrovni v oblasti, která se má nahradit.
Návraty
Objekt XmlWriter použitý k určení náhradního rozsahu.
Výjimky
Zadaná XPathNavigator hodnota je null
.
Nepodporuje XPathNavigator úpravy.
Poslední uzel, který se má nahradit, není platným uzlem na stejné úrovni aktuálního uzlu.
Příklady
V následujícím příkladu jsou první a druhé book
prvky contosoBooks.xml
souboru nahrazeny novým prázdným book
prvkem ReplaceRange pomocí metody.
XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();
XmlNamespaceManager^ manager = gcnew 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);
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)
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
Metoda ReplaceRange nahradí rozsah uzlů na stejné úrovni z aktuálního uzlu, který XPathNavigator je umístěn na (včetně) na uzel určený parametrem XPathNavigator (včetně).