4D v16.3

DOM Create XML element

Accueil

 
4D v16.3
DOM Create XML element

DOM Create XML element 


 

DOM Create XML element ( refElément ; xChemin {; nomAttribut ; valeurAttribut} {; nomAttribut2 ; valeurAttribut2 ; ... ; nomAttributN ; valeurAttributN} ) -> Résultat 
Paramètre Type   Description
refElément  Chaîne in Référence d’élément XML racine
xChemin  Texte in Chemin XPath de l’élément XML à créer
nomAttribut  Chaîne in Attribut à définir
valeurAttribut  Chaîne, Booléen, Entier long, Réel, Heure, Date in Nouvelle valeur d’attribut
Résultat  Chaîne in Référence de l’élément XML créé

La commande DOM Create XML element permet de créer un nouvel élément dans l’élément XML refElément à l’emplacement du noeud désigné par le paramètre xChemin et de lui ajouter éventuellement des attributs.

Passez dans refElément la référence de l’élément racine (créé par exemple à l’aide de la commande DOM Create XML Ref).

Passez dans xChemin le chemin d’accès de l’élément à créer en notation XPath (cf. paragraphe “Utilisation de la notation XPath” dans la section Présentation des commandes XML DOM). Si des éléments du chemin n’existent pas, ils sont créés.
Il est possible de passer directement dans xChemin un nom d'élément simple afin de créer un sous-élément à partir de l'élément courant (cf. exemple 3).

Note : Si vous avez défini un ou plusieurs espace(s) de nommage pour l’arbre désigné par refElément (cf. commande DOM Create XML Ref), vous devez préfixer le paramètre xChemin du nom de l’espace à utiliser (par exemple “MonNameSpace:MonElément”).

Vous pouvez passer dans les paramètres facultatifs nomAttribut et valeurAttribut un couple attribut / valeur d’attribut (sous forme de variables, champs ou valeurs littérales). Vous pouvez passer autant de couples que vous voulez.
Le paramètre valeurAttribut peut être de type texte ou d'un autre type (booléen, entier, réel, heure ou date). Si vous passez une valeur d'un type autre que texte, 4D se charge de la conversion en texte, selon les principes suivants :

TypeExemple de valeur convertie
Booléen"true" ou "false" (non traduit)
Entier"123456"
Réel"12.34" (le séparateur décimal est toujours ".")
Heure"5233" (nombre de secondes)
Date"2006-12-04T00:00:00Z" (norme RFC 3339)

La commande retourne en résultat la référence XML de l’élément créé.

Nous souhaitons créer l’élément suivant :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3> </Elem3>
         <Elem3> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

Pour cela, il suffit d’écrire :

 C_TEXT(vRefRacine;vRefElement)
 vRefRacine:=DOM Create XML Ref("RootElement")
 vxPath:="/RootElement/Elem1/Elem2/Elem3"
 vRefElement:=DOM Create XML element(vRefRacine;vxPath)
 vxPath:="/RootElement/Elem1/Elem2/Elem3[2]"
 vRefElement:=DOM Create XML element(vRefRacine;vxPath)

Nous souhaitons créer l’élément suivant (comportant des attributs) :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3 Font=Verdana Size=10> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

Pour cela, il suffit d’écrire :

 C_TEXT(vRefRacine;vRefElement)
 C_TEXT($aAttrNom1;$aAttrNom2;$aAttrVal1;$aAttrVal2)
 $aAttrNom1:="Font"
 $aAttrNom2:="Size"
 $aAttrVal1:="Verdana"
 $aAttrVal2:="10"
 
 vRefRacine:=DOM Create XML Ref("RootElement")
 vxPath:="/RootElement/Elem1/Elem2/Elem3"
 vRefElement:=DOM Create XML element(vRefRacine;vxPath;$aAttrNom1;$aAttrVal1;$aAttrNom2;$aAttrVal2)

Nous souhaitons créer et exporter la structure suivante :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Racine>
   <Elem1>Hello</Elem1>
</Racine>

Nous souhaitons utiliser la syntaxe basée sur un nom d'élément simple. Pour cela, il suffit d’écrire :

 C_TEXT($root)
 C_TEXT($ref1)
 
 $root:=DOM Create XML Ref("Racine")
 $ref1:=DOM Create XML element($root;"Elem1")
 DOM SET XML ELEMENT VALUE($ref1;"Hello")
 DOM EXPORT TO FILE($root;"mondoc.xml")
 DOM CLOSE XML($root)

Si la commande a été exécutée correctement, la variable système OK prend la valeur 1, sinon elle prend la valeur 0 et une erreur est générée.

Une erreur est générée lorsque :

  • la référence de l’élément racine n’est pas valide
  • le nom de l’élément à créer n’est pas valide (par exemple, s’il débute par un chiffre).



Voir aussi  

DOM Create XML element arrays
DOM Get XML element
DOM REMOVE XML ELEMENT

 
PROPRIÉTÉS 

Produit : 4D
Thème : XML DOM
Numéro : 865

Cette commande modifie la variable système OKCette commande modifie la variable système ErrorCommande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)