XMLHelper

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • Le script include d’aide XML facilite l’analyse du code XML dans les scripts.

    Utilisez les méthodes suivantes pour exporter du XML vers JSON, ou de JSON vers XML.
    • La méthode toObject() renvoie les éléments XML en tant que propriétés JSON. Cette méthode fonctionne correctement, que le paramètre fourni soit un document XML ou une chaîne XML. Cette méthode a un paramètre facultatif de l’entrée XML pour la conversion comme alternative à la spécification de l’entrée XML dans le constructeur.
    • La méthode toXMLDoc() renvoie le JSON fourni sous forme d’éléments XML.
    Remarque :
    Vous devez échapper les caractères d’esperluette (&) dans votre XML ou la conversion échoue silencieusement.

    Exemple

    L’exemple suivant montre comment convertir un document XML en JSON et utilise une fonction récursive pour générer chaque membre. La fonction récursive permet d’indiquer comment la structure du document XML est restituée au format JSON.
    var xmlString = "<company>" + "<employee>" + "<id>10</id>"
     + "<firstname>Tom</firstname>" + "<lastname>Cruise</lastname>" + "<test>test1</test>"
     + "<test>test3</test>" + "</employee>" + "<employee>" + "<id>20</id>" + "<firstname>Paul</firstname>"
     + "<lastname>Enderson</lastname>" + "<test>test6</test>" + "<test>test5</test>" + "</employee>" + "<employee>"
     + "<id>30</id>" + "<firstname>Paul</firstname>" + "<lastname>Bush</lastname>" + "<test>test2</test>"
     + "<test>test4</test>" + "</employee>" + "</company>";
    var helper = new XMLHelper(xmlString);
    var obj = helper.toObject();
    logObj(obj, "*");
    
    function logObj(obj, sep) {
      for (x in obj) {
        if (typeof obj[x] != "function") {
          gs.log(sep + x + ":: " + obj[x]);
        }
        logObj(obj[x], sep + "*");
      }
    }
    Sortie :
    *** Script: *employee:: [object Object],[object Object],[object Object]
    *** Script: **2:: [object Object]
    *** Script: ***id:: 30
    *** Script: ***test:: test2,test4
    *** Script: ****0:: test2
    *** Script: ****1:: test4
    *** Script: ***firstname:: Paul
    *** Script: ***lastname:: Bush
    *** Script: **0:: [object Object]
    *** Script: ***id:: 10
    *** Script: ***test:: test1,test3
    *** Script: ****0:: test1
    *** Script: ****1:: test3
    *** Script: ***firstname:: Tom
    *** Script: ***lastname:: Cruise
    *** Script: **1:: [object Object]
    *** Script: ***id:: 20
    *** Script: ***test:: test6,test5
    *** Script: ****0:: test6
    *** Script: ****1:: test5
    *** Script: ***firstname:: Paul
    *** Script: ***lastname:: Enderson