Javascript XML 파싱
sample XML
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<RES_XML> <TOTAL_CNT value="2"/> <LOOP type="java.util.Vector"> <vector UID="" result="2"> <data vectorkey="0" type="Document"> <result><SEQ_NUM value="1"/><ID value="aa"/><PWD value="aaa"/><NAME value="한글"/><ROLE_NO value="aaa"/><ROLE_NM value="aa"/><EMAIL value="aaa"/><TEL1 value=""/><TEL2 value=""/><TEL3 value=""/><ETC value=""/><JUMIN value=""/><OFFICE value=""/><REGDT value=""/></result> </data> <data vectorkey="1" type="Document"> <result><SEQ_NUM value="2"/><ID value="bb"/><PWD value="bb"/><NAME value="홍길동"/><ROLE_NO value="bb"/><ROLE_NM value="bb"/><EMAIL value="bbb"/><TEL1 value=""/><TEL2 value=""/><TEL3 value=""/><ETC value=""/><JUMIN value=""/><OFFICE value=""/><REGDT value=""/></result> </data> </vector> </LOOP> </RES_XML> |
Javascript Function
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
function parseXmltoList(xml){ var totalCnt = 0; $(this).find("RES_XML").each(function(){ totalCnt = $(this).find("TOTAL_CNT").text(); }); var list = new Array( new Array(totalCnt), new Array(8) ); var i = 0; $(xml).find("LOOP").each(function(){ $(this).find("vector").each(function(){ $(this).find("data").each(function(){ $(this).find("result").each(function(){ var j = 0; list[i][j++] = $(this).find("SEQ_NUM").attr("value"); list[i][j++] = $(this).find("ID").attr("value"); list[i][j++] = $(this).find("PWD").attr("value"); list[i][j++] = $(this).find("NAME").attr("value"); list[i][j++] = $(this).find("ROLE_NO").attr("value"); list[i][j++] = $(this).find("ROLE_NM").attr("value"); list[i][j++] = $(this).find("TEL1").attr("value"); list[i][j++] = $(this).find("TEL2").attr("value"); }); i++; }); }); }); return list; } |
Ajax Servlet Call
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function callServletXMLService(sFrom, async, callback, action){ var postData = $(sFrom).serializeArray(); $.ajax({ type: 'POST', url: action, dataType: 'xml', data: postData, async: async, success : function(data) { var fn = window[callback];//String funtion name to function fn(data); }, complete : function(data) { // TODO }, error : function(xhr, status, error) { alert("에러발생"); } }); } |