XPathNavigator.InsertAfter Méthode

Définition

Crée un nœud frère après le nœud sélectionné.

Surcharges

InsertAfter(XPathNavigator)

Crée un nœud frère après le nœud actuellement sélectionné à l’aide des nœuds dans l’objet XPathNavigator spécifié.

InsertAfter(XmlReader)

Crée un nœud frère après le nœud actuellement sélectionné en utilisant le contenu XML de l’objet XmlReader spécifié.

InsertAfter()

Retourne un objet XmlWriter permettant de créer un nœud frère après le nœud sélectionné.

InsertAfter(String)

Crée un nœud frère après le nœud actuellement sélectionné à l'aide de la chaîne XML spécifiée.

InsertAfter(XPathNavigator)

Crée un nœud frère après le nœud actuellement sélectionné à l’aide des nœuds dans l’objet XPathNavigator spécifié.

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

Paramètres

newSibling
XPathNavigator

Objet XPathNavigator positionné sur le nœud à ajouter en tant que nouveau nœud frère.

Exceptions

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

La position du XPathNavigator n’autorise pas l’insertion d’un nœud frère après le nœud actuel.

Le XPathNavigator ne prend pas en charge la modification.

Exemples

Dans l’exemple suivant, un nouvel pages élément est inséré après l’élément price enfant du premier book élément du contosoBooks.xml fichier à l’aide du nœud contenu dans l’objet XPathNavigator spécifié. L’espace http://www.contoso.com/books de noms est spécifié afin que le nouvel élément frère soit inséré à l’aide du même espace de noms que le document XML.

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->InsertAfter(childNodesNavigator);

navigator->MoveToParent();
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.InsertAfter(childNodesNavigator);

navigator.MoveToParent();
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.InsertAfter(childNodesNavigator)

navigator.MoveToParent()
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

Voici quelques remarques importantes à prendre en compte lors de l’utilisation de la InsertAfter méthode.

  • Si l’objet XmlReader est positionné sur une séquence de nœuds XML, tous les nœuds de la séquence sont ajoutés.

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

  • La InsertAfter méthode n’affecte pas la position du XPathNavigator.

S’applique à

InsertAfter(XmlReader)

Crée un nœud frère après le nœud actuellement sélectionné en utilisant le contenu XML de l’objet XmlReader spécifié.

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

Paramètres

newSibling
XmlReader

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

Exceptions

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

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

La position du XPathNavigator n’autorise pas l’insertion d’un nœud frère après le nœud actuel.

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, un nouvel pages élément est inséré après l’élément price enfant du premier book élément du contosoBooks.xml fichier à l’aide de l’objet XmlReader spécifié. L’espace http://www.contoso.com/books de noms est spécifié afin que le nouvel élément frère soit inséré à l’aide du même espace de noms que le document XML.

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->InsertAfter(pages);

navigator->MoveToParent();
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.InsertAfter(pages);

navigator.MoveToParent();
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.InsertAfter(pages)

navigator.MoveToParent()
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

Voici quelques remarques importantes à prendre en compte lors de l’utilisation de la InsertAfter méthode.

  • Si l’objet XmlReader est positionné sur une séquence de nœuds XML, tous les nœuds de la séquence sont ajoutés.

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

  • La InsertAfter méthode n’affecte pas la position du XPathNavigator.

S’applique à

InsertAfter()

Retourne un objet XmlWriter permettant de créer un nœud frère après le nœud sélectionné.

public:
 virtual System::Xml::XmlWriter ^ InsertAfter();
public virtual System.Xml.XmlWriter InsertAfter ();
abstract member InsertAfter : unit -> System.Xml.XmlWriter
override this.InsertAfter : unit -> System.Xml.XmlWriter
Public Overridable Function InsertAfter () As XmlWriter

Retours

XmlWriter

Objet XmlWriter utilisé pour créer un nœud frère après le nœud actuellement sélectionné.

Exceptions

La position de XPathNavigator ne permet pas l'insertion d'un nouveau nœud frère après le nœud actuel.

Le XPathNavigator ne prend pas en charge la modification.

Exemples

Dans l’exemple suivant, un nouvel pages élément est inséré après l’élément price enfant du premier book élément du contosoBooks.xml fichier à l’aide de l’objet XmlWriter retourné par la InsertAfter méthode.

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

XmlWriter^ pages = navigator->InsertAfter();
pages->WriteElementString("pages", "100");
pages->Close();

navigator->MoveToParent();
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");

XmlWriter pages = navigator.InsertAfter();
pages.WriteElementString("pages", "100");
pages.Close();

navigator.MoveToParent();
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 XmlWriter = navigator.InsertAfter()
pages.WriteElementString("pages", "100")
pages.Close()

navigator.MoveToParent()
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

Voici quelques remarques importantes à prendre en compte lors de l’utilisation de la InsertAfter méthode.

  • Le nouveau nœud frère n’est pas inséré tant que la Close méthode de l’objet XmlWriter n’est pas appelée.

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

  • La InsertAfter méthode n’affecte pas la position du XPathNavigator.

S’applique à

InsertAfter(String)

Crée un nœud frère après le nœud actuellement sélectionné à l'aide de la chaîne XML spécifiée.

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

Paramètres

newSibling
String

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

Exceptions

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

La position du XPathNavigator n’autorise pas l’insertion d’un nœud frère après le nœud actuel.

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, un nouvel pages élément est inséré après l’élément price enfant du premier book élément du contosoBooks.xml fichier.

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

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

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

navigator.MoveToParent()
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

Pour créer un nœud d’élément, incluez toute la syntaxe XML dans le paramètre de chaîne XML. La chaîne d’un nouveau book nœud est InsertAfter("<book/>"). Chaîne d’insertion du texte « book » après le nœud InsertAfter("book")de texte du nœud actuel . Si la chaîne XML contient plusieurs nœuds, tous les nœuds sont ajoutés.

Voici quelques remarques importantes à prendre en compte lors de l’utilisation de la InsertAfter méthode.

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

  • La InsertAfter méthode n’affecte pas la position du XPathNavigator.

S’applique à