Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
DOM Creer element XML
|
DOM Creer element XML ( refElément ; xPath {; nomAttribut ; valeurAttribut} {; nomAttribut2 ; valeurAttribut2 ; ... ; nomAttributN ; valeurAttributN} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
refElément | Chaîne |
![]() |
Référence d’élément XML racine | |||||
xPath | Texte |
![]() |
Chemin XPath de l’élément XML à créer | |||||
nomAttribut | Chaîne |
![]() |
Attribut à définir | |||||
valeurAttribut | Chaîne, Booléen, Entier long, Réel, Heure, Date |
![]() |
Nouvelle valeur d’attribut | |||||
Résultat | Chaîne |
![]() |
Référence de l’élément XML créé | |||||
La commande DOM Creer element XML 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 xPath, 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 Creer ref XML).
Passez dans xPath le chemin de l’élément à créer, exprimé à l'aide de la notation XPath (pour plus d'informations, reportez-vous à la section Utilisation de la notation XPath). Les expressions de chemin suivantes sont prises en charge :
Expression | Action |
/ | Désinge le noeud racine (chemin absolu) |
para[1] | Désigne le premier para enfant du noeud contextuel |
para[last()] | Désigne le dernier para enfant du noeud contextuel |
Note de compatibilité : A partir de v18 R3, la conformité de l'implémentation de XPath dans 4D est renforcée. Pour des raisons de compatibilité, l'implémentation antérieure non standard est maintenue par défaut dans les bases converties. Si vous souhaitez obtenir les fonctionnalités avancées dans vos bases converties, vous devez cocher l'option de compatibilité Utiliser XPath standard de la Page Compatibilité.
Il est possible de passer directement dans xPath un nom d'élément simple afin de créer un sous-élément à partir de l'élément courant (cf. exemple 3).
Si des éléments de chemin n'existent pas, ils sont alors créés. Si les éléments de chemin existent déjà, un nouveau noeud est ajouté.
Note : Si vous avez défini un ou plusieurs espace(s) de nommage pour l’arbre désigné par refElément (cf. commande DOM Creer ref XML), vous devez préfixer le paramètre xPath 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 :
Type | Exemple 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_TEXTE(vRefRacine;vRefElement)
vRefRacine:=DOM Creer ref XML("RootElement")
vxPath:="/RootElement/Elem1/Elem2/Elem3[2]"
vRefElement:=DOM Creer element XML(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>
<Elem3 Font=Verdana Size=8> </Elem3>
</Elem2>
</Elem1>
</RootElement>
Pour cela, il suffit d’écrire :
C_TEXTE(vRefRacine;vRefElement)
C_TEXTE($aAttrNom1;$aAttrNom2;$aAttrVal1;$aAttrVal2;$aAttrVal3)</p><p>$aAttrNom1:="Font"
$aAttrNom2:="Size"
$aAttrVal1:="Verdana"
$aAttrVal2:="10"
$aAttrVal3:="8"
vRefRacine:=DOM Creer ref XML("RootElement")
vxPath:="/RootElement/Elem1/Elem2/Elem3"
vRefElement:=DOM Creer element XML(vRefRacine;vxPath;$aAttrNom1;$aAttrVal1;$aAttrNom2;$aAttrVal2)
vRefElement:=DOM Creer element XML(vRefRacine;vxPath;$aAttrNom1;$aAttrVal1;$aAttrNom2;$aAttrVal3)
Si par la suite vous souhaitez insérer un élément, vous pouvez saisir le code suivant :
vxPath:="/RootElement/Elem1/Elem2/Elem3[2]"
vElemRef:=DOM Creer element XML(vRefRacine;vxPath;"Font";"Arial")
Vous obtenez alors :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
<Elem1>
<Elem2>
<Elem3 Font=Verdana Size=10> </Elem3>
<Elem3 Font=Arial> </Elem3>
<Elem3 Font=Verdana Size=8> </Elem3>
</Elem2>
</Elem1>
</RootElement>
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_TEXTE($root)
C_TEXTE($ref1)
$root:=DOM Creer ref XML("Racine")
$ref1:=DOM Creer element XML($root;"Elem1")
DOM ECRIRE VALEUR ELEMENT XML($ref1;"Hello")
DOM EXPORTER VERS FICHIER($root;"mondoc.xml")
DOM FERMER 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 :
DOM Creer element XML tableaux
DOM Lire element XML
DOM SUPPRIMER ELEMENT XML
Produit : 4D
Thème : XML DOM
Numéro :
865
Nom intl. : DOM Create XML element
Modifié : 4D v11 SQL
4D - Langage ( 4D v20 R7)