Lecture d'un fichier XML ou JSON
Supposons que vous désiriez extraire des données du fichier XML suivante:
<facture>
<date>2016-05-12</date>
<client>Jean Martin</client>
<article>
<code>Joint</code>
<quantite>4</quantite>
<prix_unitaire>0.12</prix_unitaire>
</article>
</facture>
Le programme de lecture va avoir la structure suivante:
var File f
...
read_file f "xml"
...
A l'intérieur du bloc de lecture, on peut lire un champ, en spécifiant son chemin d'accès. Par exemple:
var Str client := f_value "facture/client"
var Int i := f_value "count" Int
Les types supportés au niveau de l'instruction 'f_value' sont Str (le type par défaut), Int, Float, Date et DateTime
On peut aussi lire successivement l'ensemble des instances d'un tag.
Par exemple:
f_each "facture/article"
var Str code := f_value "code"
Pour mémoire, voici l'anncienne syntaxe, maintenant obsolète, où le premier paramètre indiquait le chemin d'accès :
f_each "facture" "article"
var Str code := f_value "code"
Au niveau de l'instruction 'read_file', les options suivantes sont utilisables:
Syntaxe
|
Effet
|
Exemple
|
charset "code_de_charset"
|
Spécifie l'encoding des caractères utilisé dans le fichier produit.
|
charset "iso8859-1"
|
xml
|
On lit un fichier au format XML.
|
xml
|
json
|
On lit un fichier au format JSON.
|
json
|
decimal "séparateur_décimal"
|
Spécifie le séparateur décimal utilisé dans le fichier. La valeur par défaut est le point.
|
decimal ","
|
date "format_de_date"
|
Spécifie le format utilisé dans le fichier pour les champs date. La valeur par défaut est yyyy-mm-dd
|
date "dd/mm/yyyy"
|
datetime "format_de_date_et_heure"
|
Idem pour les champs date et heure. La valeur par défaut est yyyy-mm-dd HH:MM:SS
|
datetime "dd/mm/yyyy HH:MM:SS"
|