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 Insert XML element
|
DOM Insert XML element ( refElémentCible ; refElémentSource ; indexEnfant ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
refElémentCible | Texte |
![]() |
Référence de l’élément XML parent | |||||
refElémentSource | Texte |
![]() |
Référence de l’élément XML à insérer | |||||
indexEnfant | Entier long |
![]() |
Index de l’enfant de l’élément cible avant lequel le nouvel élément doit être inséré | |||||
Résultat | Texte |
![]() |
Référence du nouvel élément XML | |||||
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.
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 :
C_TEXT($refRoot)
$refRoot:=DOM Parse XML source("") //sélection du document XML
If(OK=1)
C_TEXT($newStruct)
$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]")
C_TEXT($refNewElement)
$refNewElement:=DOM Insert XML element($newStruct;$refBook;1)
DOM CLOSE XML($newStruct)
DOM CLOSE XML($refRoot)
End if
Produit : 4D
Thème : XML DOM
Numéro :
1083
Créé : 4D v12
4D - Langage ( 4D v20 R7)