XMLHelper
A inclusão de script auxiliar XML facilita a análise de XML em scripts.
Use os seguintes métodos para exportar XML para JSON ou JSON para XML.
- . ToObject() O método retorna os elementos XML como propriedades JSON. Este método funciona corretamente se o parâmetro fornecido for um documento XML ou uma cadeia de caracteres XML. Este método tem um parâmetro opcional da entrada XML para conversão como uma alternativa para especificar a entrada XML no construtor.
- . ToXMLDoc() O método retorna JSON fornecido como elementos XML.
Nota:
Você deve escapar os caracteres E comerciais (&) em seu XML ou a conversão falhará silenciosamente.
Exemplo
O exemplo a seguir mostra como converter um documento XML em JSON e usa uma função recursiva para gerar cada membro. A função recursiva ajuda a indicar como a estrutura do documento XML é renderizada como 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 + "*");
}
}Saída:
*** 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