개발 노트
[Javascript] XML <-> JSON
무병장수권력자
2009. 8. 1. 22:10
작성자 : 김문규
최초 작성일 : 2009. 8. 1
다들 아시다시피 XML, JSON 모두 데이터(정보) 표현 방식입니다. 상황에 따라 이 둘간의 적절한 변경이 필요할 때가 있지요.
자바스크립트를 이용해서 둘 간의 포맷을 변환하는 아주 유명한 라이브러리 입니다.
참고로 원작자는 Stefan Goessner입니다. 감사히 잘 사용하시길~~
첨부한 두 js를 include 하시고서 아래의 코드를 여러분의 모듈에 삽입하시길 바랍니다.
그리고는 conv2json(_xml)를 호출하시면 xml을 json으로 변환하게 됩니다.
그 반대는 저의 경우에 필요가 없어서 아직 사용을 안해봤어요~ 아시는 분은 댓글로 남겨주세요 ^^
function parseXml(xml) {
var dom = null;
if (window.DOMParser) {
try
{
dom = (new DOMParser()).parseFromString(xml, "text/xml");
}
catch (e)
{
dom = null;
}
}
else if (window.ActiveXObject) {
try
{
dom = new ActiveXObject('Microsoft.XMLDOM');
dom.async = false;
if (!dom.loadXML(xml)) // parse error ..
{
//window.alert(dom.parseError.reason + dom.parseError.srcText);
}
}
catch (e)
{
dom = null;
}
}
else
{
//alert("cannot parse xml string!");
}
return dom;
}
최초 작성일 : 2009. 8. 1
다들 아시다시피 XML, JSON 모두 데이터(정보) 표현 방식입니다. 상황에 따라 이 둘간의 적절한 변경이 필요할 때가 있지요.
자바스크립트를 이용해서 둘 간의 포맷을 변환하는 아주 유명한 라이브러리 입니다.
참고로 원작자는 Stefan Goessner입니다. 감사히 잘 사용하시길~~
첨부한 두 js를 include 하시고서 아래의 코드를 여러분의 모듈에 삽입하시길 바랍니다.
그리고는 conv2json(_xml)를 호출하시면 xml을 json으로 변환하게 됩니다.
그 반대는 저의 경우에 필요가 없어서 아직 사용을 안해봤어요~ 아시는 분은 댓글로 남겨주세요 ^^
function parseXml(xml) {
var dom = null;
if (window.DOMParser) {
try
{
dom = (new DOMParser()).parseFromString(xml, "text/xml");
}
catch (e)
{
dom = null;
}
}
else if (window.ActiveXObject) {
try
{
dom = new ActiveXObject('Microsoft.XMLDOM');
dom.async = false;
if (!dom.loadXML(xml)) // parse error ..
{
//window.alert(dom.parseError.reason + dom.parseError.srcText);
}
}
catch (e)
{
dom = null;
}
}
else
{
//alert("cannot parse xml string!");
}
return dom;
}
function conv2json(_xml)
{
var dom = parseXml(xml);
var jsonStr = xml2json(dom);
var jsonObj = eval( "(" + jsonStr + ")" );
{
var dom = parseXml(xml);
var jsonStr = xml2json(dom);
var jsonObj = eval( "(" + jsonStr + ")" );
return jsonObj;
}
}