XMLHelper

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • XML 도우미 스크립트 포함을 사용하면 스크립트에서 XML을 쉽게 구문 분석할 수 있습니다.

    다음 메서드를 사용하여 XML을 JSON으로 또는 JSON을 XML로 내보낼 수 있습니다.
    • toObject() 메서드는 XML 요소를 JSON 속성으로 반환합니다. 이 메소드는 제공된 매개변수가 XML 문서인지 또는 XML 문자열인지에 관계없이 제대로 작동합니다. 이 메서드에는 생성자에서 XML 입력을 지정하는 대신 변환을 위한 XML 입력의 선택적 매개 변수가 있습니다.
    • toXMLDoc() 메서드는 XML 요소로 제공된 JSON을 반환합니다.
    주:
    XML에서 앰퍼샌드 문자(&)를 이스케이프해야 하며 그렇지 않으면 변환이 자동으로 실패합니다.
    참고 항목:

    다음 예제에서는 XML 문서를 JSON으로 변환하고 재귀 함수를 사용하여 각 멤버를 출력하는 방법을 보여 줍니다. recursive 함수는 XML 문서 구조가 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 + "*");
      }
    }
    출력:
    *** 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