XPathNavigator.InsertElementBefore(String, String, String, String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée un élément frère avant le nœud actuel à l'aide du préfixe d'espace de noms, du nom local et de l'URI d'espace de noms spécifiés, avec la valeur spécifiée.
public:
virtual void InsertElementBefore(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void InsertElementBefore (string prefix, string localName, string namespaceURI, string value);
public virtual void InsertElementBefore (string? prefix, string localName, string? namespaceURI, string? value);
abstract member InsertElementBefore : string * string * string * string -> unit
override this.InsertElementBefore : string * string * string * string -> unit
Public Overridable Sub InsertElementBefore (prefix As String, localName As String, namespaceURI As String, value As String)
Paramètres
- prefix
- String
Préfixe d'espace de noms du nouvel élément enfant (le cas échéant).
- localName
- String
Nom local du nouvel élément enfant (le cas échéant).
- namespaceURI
- String
URI de l'espace de noms du nouvel élément enfant (le cas échéant).
Empty et null
sont équivalents.
- value
- String
Valeur du nouvel élément enfant. Si Empty ou null
sont passés, une élément vide est créé
Exceptions
La position du XPathNavigator n’autorise pas l’insertion d’un nœud frère avant le nœud actuel.
Le XPathNavigator ne prend pas en charge la modification.
Exemples
Dans l'exemple suivant, un nouvel élément pages
est inséré avant l'élément price
enfant du premier élément book
du fichier contosoBooks.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");
navigator->InsertElementBefore(navigator->Prefix, "pages", navigator->LookupNamespace(navigator->Prefix), "100");
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.InsertElementBefore(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");
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.InsertElementBefore(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")
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
Le préfixe d’espace de noms et les valeurs d’URI peuvent être obtenus à l’aide de la LookupPrefix méthode ou LookupNamespace . Par exemple, la syntaxe suivante insère un élément frère à l’aide de l’espace de noms xmlns:bk="http://www.contoso.com/books"
dans l’étendue :
navigator.InsertElementBefore(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)
Cela crée le nouvel élément frère <bk:pages/>
.
Voici les remarques importantes à prendre en compte lors de l’utilisation de la InsertElementBefore méthode .
Si le préfixe d’espace de noms spécifié est
null
ou String.Empty, le préfixe de l’URI d’espace de noms du nouvel élément est obtenu à partir des espaces de noms actuels dans l’étendue. Si aucun préfixe d’espace de noms n’est affecté à l’URI d’espace de noms spécifié dans l’étendue actuelle, un préfixe d’espace de noms est généré automatiquement.La InsertElementBefore 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.
La InsertElementBefore méthode n’affecte pas la position du XPathNavigator.