XMLHelper
L’include de script d’aide XML facilite l’analyse XML dans les scripts.
Utilisez les méthodes suivantes pour exporter XML vers JSON, ou JSON vers XML.
- La méthode toObject() renvoie les éléments XML sous forme de 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 comporte 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 en tant qu’éléments XML.
Remarque :
Vous devez échapper les esperluettes (&) dans votre XML, sinon 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