XMLHelper
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