Aller au contenu

$xml.toMap

Description

Instancie un objet de type map à partir d'un XML.

Syntaxe

$xml.toMap( xml [ , options ] )

Paramètres

xml string / file
Document xml à convertir. Peut désigner un string ou un fichier.
options map

Map d'options. Les options reconnues sont:

withNSboolean
Flag true/false demandant de conserver les préfixes de namespaces dans les noms des clés dans le map généré.
decoration boolean

Flag true/false demandant d'ajouter les indications @ et # sur les noms de clés pour désigner respectivement les attributs et les valeurs d'attributs.

La propriété est false par défaut.

jsonLike boolean

Flag true/false demandant d'appliquer le même type de transformation que la méthode $json.parse.

Concrètement, lorsque cette option est activée, le moteur effectue une première conversion du XML en json, puis du json en objet map. Par conséquent cette variante peut être plus lente que la variante standard.

charset string
Charset à utiliser dans le cas où xml est un fichier.

Retour

Objet de type map reprenant le contenu du XML d'entrée.

Exemple

Invoque un service rest retournant une réponse XML et crée un objet map à partir de la réponse.

var resp = $http.get($app.getConfig("externalServices.connection[bdch].url"), {
    auth: {
        type: "basic",
        username: $app.getConfig("externalServices.connection[bdch].username"),
        password: $app.getConfig("externalServices.connection[bdch].password")
    }
});

if (resp.status >= 200 && resp.status <= 299) {
    var data = $xml.toMap(resp.data);

    {
        #base.idTypeClient  { return "R"; }
        #base.nom           { return data.root.person.lastname; }
        #base.prenom        { return data.root.person.firstname; }
        #base.dateNaissance { return $cal.date(data.root.person.birthdate); }
    }
}
else {
    $msg.error("Erreur rencontrée durant l'accès au contrôle des habitants. Code HTTP " & resp.status);
}