Partage via


XPathNavigator.ReplaceSelf Méthode

Définition

Remplace le nœud actuel par le contenu spécifié.

Surcharges

ReplaceSelf(XmlReader)

Remplace le nœud actuel par le contenu de l’objet XmlReader spécifié.

ReplaceSelf(XPathNavigator)

Remplace le nœud actuel par le contenu de l’objet XPathNavigator spécifié.

ReplaceSelf(String)

Remplace le nœud actuel par le contenu de la chaîne spécifiée.

ReplaceSelf(XmlReader)

Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs

Remplace le nœud actuel par le contenu de l’objet XmlReader spécifié.

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)

Paramètres

newNode
XmlReader

Objet XmlReader positionné sur les données XML pour le nouveau nœud.

Exceptions

L'objet XmlReader est dans un état d'erreur ou est fermé.

Le paramètre de l’objet XmlReader est null.

XPathNavigator n'est pas positionné sur un élément, du texte, une instruction de traitement ou un nœud de commentaire.

Le XPathNavigator ne prend pas en charge la modification.

Le contenu XML du paramètre de l’objet XmlReader n’est pas mis en forme correctement.

Exemples

Dans l’exemple suivant, l’élément price du contosoBooks.xml fichier est remplacé par un nouvel pages élément.

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)

L'exemple prend le fichier contosoBooks.xml comme entrée.

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

Remarques

XPathNavigator est positionné sur le nouveau nœud à l’achèvement de la ReplaceSelf méthode et retourne true. le XPathNavigator n’est pas positionné sur le nouveau nœud après l’achèvement de la méthode lorsque l’entrée ReplaceSelf XML est Empty dans ce cas XPathNavigator , soit sur le nœud frère suivant, soit sur le nœud parent s’il n’y a pas de nœud frère suivant pour le nœud remplacé et que le ReplaceSelf retourne false.

  • La ReplaceSelf méthode n’est valide que lorsque le XPathNavigator est positionné sur un élément, du texte, une instruction de traitement ou un nœud de commentaire.

  • Si la chaîne de données XML n’est pas correctement formée, une exception est levée et le résultat de cette méthode équivaut à appeler DeleteSelf sur le nœud actuel.

  • Si la chaîne XML contient plusieurs nœuds, tous les nœuds sont ajoutés et le XPathNavigator est positionné sur le premier nœud de la série de nœuds.

  • La ReplaceSelf méthode n’est pas équivalente à la DeleteSelf méthode .

S’applique à

ReplaceSelf(XPathNavigator)

Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs

Remplace le nœud actuel par le contenu de l’objet XPathNavigator spécifié.

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)

Paramètres

newNode
XPathNavigator

Objet XPathNavigator positionné sur le nouveau nœud.

Exceptions

Le paramètre de l’objet XPathNavigator est null.

XPathNavigator n'est pas positionné sur un élément, du texte, une instruction de traitement ou un nœud de commentaire.

Le XPathNavigator ne prend pas en charge la modification.

Le contenu XML du paramètre de l’objet XPathNavigator n’est pas mis en forme correctement.

Exemples

Dans l’exemple suivant, l’élément price du contosoBooks.xml fichier est remplacé par un nouvel pages élément.

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)

L'exemple prend le fichier contosoBooks.xml comme entrée.

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

Remarques

XPathNavigator est positionné sur le nouveau nœud à l’achèvement de la ReplaceSelf méthode et retourne true. le XPathNavigator n’est pas positionné sur le nouveau nœud après l’achèvement de la méthode lorsque l’entrée ReplaceSelf XML est Empty dans ce cas XPathNavigator , soit sur le nœud frère suivant, soit sur le nœud parent s’il n’y a pas de nœud frère suivant pour le nœud remplacé et que le ReplaceSelf retourne false.

  • La ReplaceSelf méthode n’est valide que lorsque le XPathNavigator est positionné sur un élément, du texte, une instruction de traitement ou un nœud de commentaire.

  • Si la chaîne de données XML n’est pas correctement formée, une exception est levée et le résultat de cette méthode équivaut à appeler DeleteSelf sur le nœud actuel.

  • Si la chaîne XML contient plusieurs nœuds, tous les nœuds sont ajoutés et le XPathNavigator est positionné sur le premier nœud de la série de nœuds.

  • La ReplaceSelf méthode n’est pas équivalente à la DeleteSelf méthode .

S’applique à

ReplaceSelf(String)

Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs

Remplace le nœud actuel par le contenu de la chaîne spécifiée.

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)

Paramètres

newNode
String

Chaîne de données XML pour le nouveau nœud.

Exceptions

Le paramètre de chaîne XML est null.

Le XPathNavigator n’est pas positionné sur un élément, un texte, une instruction de traitement ni un nœud de commentaire.

Le XPathNavigator ne prend pas en charge la modification.

Le paramètre de chaîne XML n’est pas mis en forme correctement.

Exemples

Dans l’exemple suivant, l’élément price du contosoBooks.xml fichier est remplacé par un nouvel pages élément.

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)

L'exemple prend le fichier contosoBooks.xml comme entrée.

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

Remarques

XPathNavigator est positionné sur le nouveau nœud à l’achèvement de la ReplaceSelf méthode et retourne true. le XPathNavigator n’est pas positionné sur le nouveau nœud après l’achèvement de la méthode lorsque l’entrée ReplaceSelf XML est Empty dans ce cas XPathNavigator , soit sur le nœud frère suivant, soit sur le nœud parent s’il n’y a pas de nœud frère suivant pour le nœud remplacé et que le ReplaceSelf retourne false.

  • La ReplaceSelf méthode n’est valide que lorsque le XPathNavigator est positionné sur un élément, du texte, une instruction de traitement ou un nœud de commentaire.

  • Si la chaîne de données XML n’est pas correctement formée, une exception est levée et le résultat de cette méthode équivaut à appeler DeleteSelf sur le nœud actuel.

  • Si la chaîne XML contient plusieurs nœuds, tous les nœuds sont ajoutés et le XPathNavigator est positionné sur le premier nœud de la série de nœuds.

  • La ReplaceSelf méthode n’est pas équivalente à la DeleteSelf méthode .

S’applique à