Sdílet prostřednictvím


XPathNavigator.ReplaceSelf Metoda

Definice

Nahradí aktuální uzel zadaným obsahem.

Přetížení

ReplaceSelf(XmlReader)

Nahradí aktuální uzel obsahem zadaného objektu XmlReader .

ReplaceSelf(XPathNavigator)

Nahradí aktuální uzel obsahem zadaného objektu XPathNavigator .

ReplaceSelf(String)

Nahradí aktuální uzel obsahem zadaného řetězce.

ReplaceSelf(XmlReader)

Zdroj:
XPathNavigator.cs
Zdroj:
XPathNavigator.cs
Zdroj:
XPathNavigator.cs

Nahradí aktuální uzel obsahem zadaného objektu XmlReader .

public:
 virtual void ReplaceSelf(System::Xml::XmlReader ^ newNode);
public virtual void ReplaceSelf (System.Xml.XmlReader newNode);
abstract member ReplaceSelf : System.Xml.XmlReader -> unit
override this.ReplaceSelf : System.Xml.XmlReader -> unit
Public Overridable Sub ReplaceSelf (newNode As XmlReader)

Parametry

newNode
XmlReader

Objekt XmlReader umístěný na datech XML pro nový uzel.

Výjimky

Objekt XmlReader je v chybovém stavu nebo je zavřený.

Parametr XmlReader object je null.

Objekt XPathNavigator není umístěný na uzlu elementu, textu, instrukce zpracování nebo komentáře.

Nástroj XPathNavigator nepodporuje úpravy.

Obsah XML parametru objektu XmlReader není ve správném formátu.

Příklady

V následujícím příkladu price je prvek v contosoBooks.xml souboru nahrazen novým pages elementem.

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");

XmlReader^ pages = XmlReader::Create(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator->ReplaceSelf(pages);

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");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.ReplaceSelf(pages);

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")

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.ReplaceSelf(pages)

Console.WriteLine("Position after delete: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)

V příkladu se contosoBooks.xml soubor používá 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

Po XPathNavigator dokončení ReplaceSelf metody se umístí na nový uzel a vrátí true. Hodnota XPathNavigator není umístěna na novém uzlu po dokončení ReplaceSelf metody, když je Empty vstup XML v takovém případě XPathNavigator je buď umístěn na dalším uzlu na stejné úrovni nebo na nadřazený uzel, pokud neexistuje žádný další uzel na stejné úrovni nahrazeného uzlu a ReplaceSelf vrátí hodnotu false.

  • Metoda ReplaceSelf je platná pouze v XPathNavigator případě, že je umístěn na prvek, text, instrukce zpracování nebo komentář uzlu.

  • Pokud datový řetězec XML není ve správném formátu, než je vyvolán výjimka a výsledek této metody je ekvivalentní volání DeleteSelf na aktuálním uzlu.

  • Pokud řetězec XML obsahuje více uzlů, všechny uzly se přidají a XPathNavigator umístí se na první uzel v řadě uzlů.

  • Metoda ReplaceSelf není ekvivalentní DeleteSelf metodě.

Platí pro

ReplaceSelf(XPathNavigator)

Zdroj:
XPathNavigator.cs
Zdroj:
XPathNavigator.cs
Zdroj:
XPathNavigator.cs

Nahradí aktuální uzel obsahem zadaného objektu XPathNavigator .

public:
 virtual void ReplaceSelf(System::Xml::XPath::XPathNavigator ^ newNode);
public virtual void ReplaceSelf (System.Xml.XPath.XPathNavigator newNode);
abstract member ReplaceSelf : System.Xml.XPath.XPathNavigator -> unit
override this.ReplaceSelf : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub ReplaceSelf (newNode As XPathNavigator)

Parametry

newNode
XPathNavigator

Objekt XPathNavigator umístěný na novém uzlu.

Výjimky

Parametr XPathNavigator object je null.

Objekt XPathNavigator není umístěný na uzlu elementu, textu, instrukce zpracování nebo komentáře.

Nástroj XPathNavigator nepodporuje úpravy.

Obsah XML parametru objektu XPathNavigator není ve správném formátu.

Příklady

V následujícím příkladu price je prvek v contosoBooks.xml souboru nahrazen novým pages elementem.

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");

XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();

navigator->ReplaceSelf(childNodesNavigator);

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");

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

navigator.ReplaceSelf(childNodesNavigator);

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")

Dim childNodes As XmlDocument = New XmlDocument()
childNodes.Load(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
Dim childNodesNavigator As XPathNavigator = childNodes.CreateNavigator()

navigator.ReplaceSelf(childNodesNavigator)

Console.WriteLine("Position after delete: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)

V příkladu se contosoBooks.xml soubor používá 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

Po XPathNavigator dokončení ReplaceSelf metody se umístí na nový uzel a vrátí true. Hodnota XPathNavigator není umístěna na novém uzlu po dokončení ReplaceSelf metody, když je Empty vstup XML v takovém případě XPathNavigator je buď umístěn na dalším uzlu na stejné úrovni nebo na nadřazený uzel, pokud neexistuje žádný další uzel na stejné úrovni nahrazeného uzlu a ReplaceSelf vrátí hodnotu false.

  • Metoda ReplaceSelf je platná pouze v XPathNavigator případě, že je umístěn na prvek, text, instrukce zpracování nebo komentář uzlu.

  • Pokud datový řetězec XML není ve správném formátu, než je vyvolán výjimka a výsledek této metody je ekvivalentní volání DeleteSelf na aktuálním uzlu.

  • Pokud řetězec XML obsahuje více uzlů, všechny uzly se přidají a XPathNavigator umístí se na první uzel v řadě uzlů.

  • Metoda ReplaceSelf není ekvivalentní DeleteSelf metodě.

Platí pro

ReplaceSelf(String)

Zdroj:
XPathNavigator.cs
Zdroj:
XPathNavigator.cs
Zdroj:
XPathNavigator.cs

Nahradí aktuální uzel obsahem zadaného řetězce.

public:
 virtual void ReplaceSelf(System::String ^ newNode);
public virtual void ReplaceSelf (string newNode);
abstract member ReplaceSelf : string -> unit
override this.ReplaceSelf : string -> unit
Public Overridable Sub ReplaceSelf (newNode As String)

Parametry

newNode
String

Datový řetězec XML pro nový uzel.

Výjimky

Parametr řetězce XML je null.

Objekt XPathNavigator není umístěný na uzlu elementu, textu, instrukce zpracování nebo komentáře.

Nástroj XPathNavigator nepodporuje úpravy.

Parametr řetězce XML není ve správném formátu.

Příklady

V následujícím příkladu price je prvek v contosoBooks.xml souboru nahrazen novým pages elementem.

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->ReplaceSelf("<pages>100</pages>");

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.ReplaceSelf("<pages>100</pages>");

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.ReplaceSelf("<pages>100</pages>")

Console.WriteLine("Position after delete: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)

V příkladu se contosoBooks.xml soubor používá 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

Po XPathNavigator dokončení ReplaceSelf metody se umístí na nový uzel a vrátí true. Hodnota XPathNavigator není umístěna na novém uzlu po dokončení ReplaceSelf metody, když je Empty vstup XML v takovém případě XPathNavigator je buď umístěn na dalším uzlu na stejné úrovni nebo na nadřazený uzel, pokud neexistuje žádný další uzel na stejné úrovni nahrazeného uzlu a ReplaceSelf vrátí hodnotu false.

  • Metoda ReplaceSelf je platná pouze v XPathNavigator případě, že je umístěn na prvek, text, instrukce zpracování nebo komentář uzlu.

  • Pokud datový řetězec XML není ve správném formátu, než je vyvolán výjimka a výsledek této metody je ekvivalentní volání DeleteSelf na aktuálním uzlu.

  • Pokud řetězec XML obsahuje více uzlů, všechny uzly se přidají a XPathNavigator umístí se na první uzel v řadě uzlů.

  • Metoda ReplaceSelf není ekvivalentní DeleteSelf metodě.

Platí pro