XML 노드를 노드 이름을 속성명, XML 노드의 텍스트 노드값을 속성값으로 지정한 JSON 오브젝트를 리턴한다.
Parameters | Type | Description |
---|---|---|
objXmlNode | INSTANCE | XML 노드 또는 XML 노드 배열 |
objJsonObj | INSTANCE | [옵션] JSON 오브젝트 |
Type | Description |
---|---|
STRING | XML 노드에 대한 JSON 오브젝트 |
objJsonObj 파라미터는 값을 지정한 경우, objJsonObj 값에 속성 및 속성값을 설정한 이후에 objJsonObj를 리턴한다.
objJsonObj 파라미터 지정하지 않은 경우, 함수 내부에서 새로운 JSON 오브젝트를 생성하여 속성 및 속성값을 설장하고, 생성한 JSON 오브젝트를 반환한다.
function aaa_on_mouseup(objInst)
{
var objXmlDoc, arrXmlNode, objXmlNode, strXml, arrXmlLine;
arrXmlLine = [];
arrXmlLine.push('<?xml version="1.0" encoding="UTF-8"?>');
arrXmlLine.push('<root>');
arrXmlLine.push('<body>');
arrXmlLine.push('<div id="DIV_ROOT" class="DIV_CLASS">');
arrXmlLine.push('DIV_CONTENT');
arrXmlLine.push('</div>');
arrXmlLine.push('</body>');
arrXmlLine.push('</root>');
strXml = arrXmlLine.join("");
screen.alert(strXml);
// XML 문자열을 파싱하여 XML Document 오브젝트를 구함
objXmlDoc = factory.xmlparse(strXml);
// XML Document 오브젝트를 문자열로 변환
screen.alert(factory.xmlstringify(objXmlDoc));
// Element Selector 사용 예제
arrXmlNode = factory.xmlfind(objXmlDoc, "root > body > div");
screen.alert("arrXmlNode count = " + arrXmlNode.length);
// Attribute Selector 사용 예제
arrXmlNode = factory.xmlfind(objXmlDoc, 'root > body > div[id="' + 'DIV_ROOT' + '"]');
screen.alert("arrXmlNode count = " + arrXmlNode.length);
// XML 노드를 JSON 오브젝트로 변환
objXmlNode = arrXmlNode[0];
var objXmlJson = factory.xmljson(objXmlNode);
for (property in objXmlJson){
screen.alert("name: " + property + "; value: " + objXmlJson[property]);
}
}