4D v16.3

XML DECODER

Accueil

 
4D v16.3
XML
XML DECODER

XML DECODER 


 

XML DECODER ( valeurXML ; var4D ) 
Paramètre Type   Description
valeurXML  Texte in Valeur de type texte provenant d’une structure XML
var4D  Champ, Variable in Variable ou champ 4D devant recevoir la valeur XML convertie

La commande XML DECODER convertit une valeur stockée en tant que chaîne XML en une valeur 4D typée. La conversion est effectuée automatiquement en fonction des règles suivantes :    

ValeurExemplesConversion sur système français
numérique<Prix>8,5</Prix><Prix>8.5</Prix>Réel : 8,5
booléenne<Double>1</Double> <Double>0</Double> ou <Double>vrai</Double> <Double>faux</Double>Booléen : Vrai/Faux
BLOBDécodage base64
ImagesDécodage base64 + commande BLOB vers image
Dates2009-10-25T01:03:20+01:00 !25/10/2009! -> Suppression de la partie heure et du fuseau horaire
Heures2009-10-25T01:03:20+01:00?01:03:20? -> Suppression de la partie date. Attention : prise en compte du fuseau horaire s'il est différent de celui de l'heure locale. Par exemple "2009-10-25T01:03:20+05:00" donnera ?21:03:20? en heure locale UTC+1

Exemple  

Importation de données depuis un document XML dans lequel les valeurs sont stockées en tant qu’attributs.
Exemple de document XML :


<CD Date="2003-01-01T00:00:00Z" Description="Ce double CD réédité par EMI en 1995 réunit 4 Stabat mater. Celui de Rossini interprété par l'orchestre Symphonique de Berlin dirigé par Karl Forster. Il est suivi de l'œuvre de Verdi, Philharmonia Orchestra dirigé par Carlo Maria Giulini. Sur le deuxième CD, on trouve Francis Poulenc interprété par Régine Crespin. Cette compilation se termine avec une version moins connue, celle du polonais Karol Szymanowski. Orchestre Symphonique de la Radio Nationale polonaise dirigée par Antoni Wit" Double="true" Duree="7246" Genre="Musique sacrée" ID_CD="5" Interprete="Divers" Prix="8.5" Titre="4 Stabat mater"/>

 Repeter
       MyEvent:=SAX Lire noeud XML(DocRef)
 
       Au cas ou
       :(MyEvent=XML début élément)
          TABLEAU TEXTE(tAttrNames;0)
          TABLEAU TEXTE(tAttrValues;0)
          SAX LIRE ELEMENT XML(DocRef;vName;vPrefix;tAttrNames;tAttrValues)
          Si(vName="CD")
             CREER ENREGISTREMENT([CD])
             Boucle($i;1;Taille tableau(tAttrNames))
                $attrName:=tAttrNames{$i}
                Au cas ou
                :($attrName="ID_CD")
                   XML DECODER(tAttrValues{$i};[CD]ID_CD)
                :($attrName="Titre")
                   [CD]uvre:=tAttrValues{$i}
                :($attrName="Prix")
                   XML DECODER(tAttrValues{$i};[CD]Prix)
                :($attrName="Date")
                   XML DECODER(tAttrValues{$i};[CD]Date saisie)
                :($attrName="Duree")
                   XML DECODER(tAttrValues{$i};[CD]Durée_totale)
                :($attrName="Double")
                   XML DECODER(tAttrValues{$i};[CD]CD_Double)
                Fin de cas
             Fin de boucle
          Fin de si
       ...
       Fin de cas
 Jusque(MyEvent=XML fin document)



Voir aussi  

DECODER BASE64
ENCODER BASE64

 
PROPRIÉTÉS 

Produit : 4D
Thème : XML
Numéro : 1091
Nom intl. : XML DECODE

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v12

 
UTILISATION DE L'ARTICLE

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