XMLHelper

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 1 min. de leitura
  • A inclusão de script do auxiliar XML facilita a análise de XML em scripts.

    Use os seguintes métodos para exportar XML para JSON ou JSON para XML.
    • O método toObject() 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.
    • O método toXMLDoc() retorna o JSON fornecido como elementos XML.
    Nota:
    Você deve fazer o escape dos caracteres e comercial (&) 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