Aller au contenu principal
Version: Next

DOM Insert XML element

DOM Insert XML element ( refElémentCible ; refElémentSource ; indexEnfant ) -> Résultat

ParamètreTypeDescription
refElémentCibleTexte🡒Référence de l’élément XML parent
refElémentSourceTexte🡒Référence de l’élément XML à insérer
indexEnfantEntier long🡒Index de l’enfant de l’élément cible avant lequel le nouvel élément doit être inséré
RésultatTexte🡐Référence du nouvel élément XML

Description

La commande DOM Insert XML element permet d’insérer un nouvel élément XML parmi les enfants de l’élément XML dont la référence est passée dans le paramètre refElémentCible.

Passez dans refElémentSource l’élément à insérer. Cet élément doit être passé en tant que référence d’un élément XML existant dans un arbre DOM.

Le paramètre indexEnfant permet de désigner l’enfant de l’élément parent avant lequel le nouvel élément doit être inséré. Passez un numéro d’index dans ce paramètre. Si la valeur est invalide (par exemple s’il n’existe pas d’élément enfant de cet index), le nouvel élément sera ajouté avant le premier enfant de l’élément parent.

La commande retourne la référence de l’élément XML obtenu.

Exemple

Dans la structure suivante, nous souhaitons inverser le premier et le deuxième livre :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<BookCatalog>
  <Book>
          <Title>Services Web Open Source</Title>
          <Author>Collectif</Author>
          <Date>2003</Date>
          <ISBN>2-7440-1507-5</ISBN>
          <Publisher>Wrox</Publisher>
    </Book>
<Book>
          <Title>Construire des services Web XML</Title>
          <Author>Scott Short</Author>
          <Date>2002</Date>
          <ISBN>2-10-006476-2</ISBN>
          <Publisher>Microsoft Press</Publisher>
    </Book>
</BookCatalog>

Pour cela, il suffit d’exécuter le code suivant :

 var $refRoot : Text
 $refRoot:=DOM Parse XML source("") //sélection du document XML
 If(OK=1)
    var $newStruct : Text
    $newStruct:=DOM Create XML Ref("BookCatalog")
 
    $refBook:=DOM Find XML element($refRoot;"/BookCatalog/Book[1]")
    $refNewElement:=DOM Append XML element($newStruct;$refBook)
 
    $refBook:=DOM Find XML element($refRoot;"/BookCatalog/Book[2]")
    var $refNewElement : Text
    $refNewElement:=DOM Insert XML element($newStruct;$refBook;1)
 
    DOM CLOSE XML($newStruct)
    DOM CLOSE XML($refRoot)
 End if

Voir aussi

DOM Append XML element