ajax 를 이용해 xmlHttp.responseXML 를 리턴받고 json 으로 변경하기 위한 작업
1. xml2json.js
대부분 xml2json.js 를 이용해서 작업한다고 하는데 안된다... 프록시 페이지에서 공백이 있는 상태에서 넘겨줘서 그런지..
아니면 다른 이유가 있는지.. 찾지를 못하겠다 ㅜㅜ
2. saXMLUtils.js
http://ngweb.tistory.com/82 사이트에서 다른 1번에서 사용한 js 파일이 아닌 다른 파일을 이용해서 xml -> json 으로 변경
하는 방법이며, 잘된다 ㅋㅋㅋ 아싸 ㅋㅋㅋ
자세한 내용은 위 사이트 참조
alert(jsonObj.channel[0].title[0].Text);
alert(jsonObj.channel[0].item[0].mapx[0].Text);
========================================================================================
prototype.js 를 사용하여 responseXML 객체를 받아온 후 JSON 객체로 변환하여 아래와 같이 편리하게 사용할 수 있습니다.
일단 두서없이 포스팅 해 둡니다.
1. prototype.js Ajax 호출
url, // URL
{
method: 'post',
parameters: param, // 파라미터
onComplete: resultFunction, // 결과를 받을 function 명 (eval(변수명) 가능함)
onFailure : AjaxRequestError, // 에러시에 실행될 function 명
asynchronous: true
}
);
2. responseXML을 JSON 객체로 변환 예
* XML Response를 JSON Object로 리턴한다.
*/
function Xml2Json(originalRequest) {
try {
var xmlObj = originalRequest.responseXML;
var jsonObj = XMLObjectifier.xmlToJSON(xmlObj);
return jsonObj;
} catch (e) {
alert("Function XmlToJson error : " + e);
}
}
3. xmlObjectifier import 후 사용 (http://www.terracoder.com/)
<script language="javascript" src="saXMLUtils.js"></script>
//Using xml objectifier
<script language="javascript">
var root = XMLObjectifier.xmlToJSON(xml_dom_object); //Converts xml dom object to JSON
var xml_doc = XMLObjectifier.textToXML(xml_string); //Converts xml string to xml dom
</script>
4. 사용예제
<?xml version="1.0" encoding="utf-8" ?>
<sample>
<aaa>
<bbb>Hello</bbb>
</aaa>
<aaa>
<bbb>Hi</bbb>
</aaa>
</sample>
...
var jsonObj = XMLObjectifier.xmlToJSON(xmlObj);
jsonObj.aaa[0].bbb[0].Text; // 결과 : Hello
jsonObj.aaa.length; // 결과 : 2
for(var i=0; i<jsonObj.aaa.length; i++) {
var value = jsonObj.aaa[i].bbb[0].Text; // 결과 : (Loop) Hello, Hi
}
...
'IT > JAVASCRIPT' 카테고리의 다른 글
ajax - XML 변환기 오류 (0) | 2018.12.27 |
---|---|
ajax 로 데이터 가져오기 최종판 (0) | 2018.12.27 |
[공유] JavaScript Getters and Setters (0) | 2018.12.27 |
객체 정보얻기 (0) | 2018.12.27 |