Condividi tramite


XPathNavigator.ReplaceSelf Metodo

Definizione

Sostituisce il nodo corrente con il contenuto specificato.

Overload

ReplaceSelf(XmlReader)

Sostituisce il nodo corrente con il contenuto dell'oggetto XmlReader specificato.

ReplaceSelf(XPathNavigator)

Sostituisce il nodo corrente con il contenuto dell'oggetto XPathNavigator specificato.

ReplaceSelf(String)

Sostituisce il nodo corrente con il contenuto della stringa specificato.

ReplaceSelf(XmlReader)

Origine:
XPathNavigator.cs
Origine:
XPathNavigator.cs
Origine:
XPathNavigator.cs

Sostituisce il nodo corrente con il contenuto dell'oggetto XmlReader specificato.

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)

Parametri

newNode
XmlReader

Oggetto XmlReader posizionato in corrispondenza dei dati XML per il nuovo nodo.

Eccezioni

L'oggetto XmlReader si trova in uno stato di errore oppure è chiuso.

Il parametro dell'oggetto XmlReader è null.

L'oggetto XPathNavigator non è posizionato in corrispondenza di un nodo elemento, di testo, istruzione di elaborazione o commento.

XPathNavigator non supporta la modifica.

Il formato del contenuto XML del parametro dell'oggetto XmlReader non è corretto.

Esempio

Nell'esempio seguente l'elemento price nel contosoBooks.xml file viene sostituito da un nuovo pages elemento.

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)

Nell'esempio il file contosoBooks.xml viene considerato come input.

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

Commenti

L'oggetto XPathNavigator viene posizionato sul nuovo nodo al completamento del ReplaceSelf metodo e restituisce true. L'oggetto XPathNavigator non viene posizionato nel nuovo nodo dopo il ReplaceSelf completamento del metodo quando l'input XML è Empty nel qual caso viene XPathNavigator posizionato sul nodo di pari livello successivo o sul nodo padre se non è presente alcun nodo di pari livello successivo al nodo sostituito e restituisce ReplaceSelffalse.

  • Il ReplaceSelf metodo è valido solo quando l'oggetto XPathNavigator è posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.

  • Se la stringa di dati XML non è ben formata di quanto venga generata un'eccezione e il risultato di questo metodo equivale a chiamare DeleteSelf sul nodo corrente.

  • Se la stringa XML contiene più nodi, vengono aggiunti tutti i nodi e viene XPathNavigator posizionato sul primo nodo della serie di nodi.

  • Il ReplaceSelf metodo non equivale al DeleteSelf metodo .

Si applica a

ReplaceSelf(XPathNavigator)

Origine:
XPathNavigator.cs
Origine:
XPathNavigator.cs
Origine:
XPathNavigator.cs

Sostituisce il nodo corrente con il contenuto dell'oggetto XPathNavigator specificato.

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)

Parametri

newNode
XPathNavigator

Oggetto XPathNavigator posizionato in corrispondenza del nuovo nodo.

Eccezioni

Il parametro dell'oggetto XPathNavigator è null.

L'oggetto XPathNavigator non è posizionato in corrispondenza di un nodo elemento, di testo, istruzione di elaborazione o commento.

XPathNavigator non supporta la modifica.

Il formato del contenuto XML del parametro dell'oggetto XPathNavigator non è corretto.

Esempio

Nell'esempio seguente l'elemento price nel contosoBooks.xml file viene sostituito da un nuovo pages elemento.

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)

Nell'esempio il file contosoBooks.xml viene considerato come input.

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

Commenti

L'oggetto XPathNavigator viene posizionato sul nuovo nodo al completamento del ReplaceSelf metodo e restituisce true. L'oggetto XPathNavigator non viene posizionato nel nuovo nodo dopo il ReplaceSelf completamento del metodo quando l'input XML è Empty nel qual caso viene XPathNavigator posizionato sul nodo di pari livello successivo o sul nodo padre se non è presente alcun nodo di pari livello successivo al nodo sostituito e restituisce ReplaceSelffalse.

  • Il ReplaceSelf metodo è valido solo quando l'oggetto XPathNavigator è posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.

  • Se la stringa di dati XML non è ben formata di quanto venga generata un'eccezione e il risultato di questo metodo equivale a chiamare DeleteSelf sul nodo corrente.

  • Se la stringa XML contiene più nodi, vengono aggiunti tutti i nodi e viene XPathNavigator posizionato sul primo nodo della serie di nodi.

  • Il ReplaceSelf metodo non equivale al DeleteSelf metodo .

Si applica a

ReplaceSelf(String)

Origine:
XPathNavigator.cs
Origine:
XPathNavigator.cs
Origine:
XPathNavigator.cs

Sostituisce il nodo corrente con il contenuto della stringa specificato.

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)

Parametri

newNode
String

Stringa di dati XML per il nuovo nodo.

Eccezioni

Il parametro di stringa XML è null.

XPathNavigator non è posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.

XPathNavigator non supporta la modifica.

Il formato del parametro di stringa XML non è corretto.

Esempio

Nell'esempio seguente l'elemento price nel contosoBooks.xml file viene sostituito da un nuovo pages elemento.

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)

Nell'esempio il file contosoBooks.xml viene considerato come input.

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

Commenti

L'oggetto XPathNavigator viene posizionato sul nuovo nodo al completamento del ReplaceSelf metodo e restituisce true. L'oggetto XPathNavigator non viene posizionato nel nuovo nodo dopo il ReplaceSelf completamento del metodo quando l'input XML è Empty nel qual caso viene XPathNavigator posizionato sul nodo di pari livello successivo o sul nodo padre se non è presente alcun nodo di pari livello successivo al nodo sostituito e restituisce ReplaceSelffalse.

  • Il ReplaceSelf metodo è valido solo quando l'oggetto XPathNavigator è posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.

  • Se la stringa di dati XML non è ben formata di quanto venga generata un'eccezione e il risultato di questo metodo equivale a chiamare DeleteSelf sul nodo corrente.

  • Se la stringa XML contiene più nodi, vengono aggiunti tutti i nodi e viene XPathNavigator posizionato sul primo nodo della serie di nodi.

  • Il ReplaceSelf metodo non equivale al DeleteSelf metodo .

Si applica a