XML 노드 속성값 검색하기 : 자바스크립트
반응형
XML 노드에 속성 값을 비교하여 검색 후 해당 노드의 값을 읽어오는 스크립트입니다.
Javascript Source
function getXMLDocument() { var xDoc = null; // 파이어폭스 if (document.implementation && document.implementation.createDocument) { xDoc = document.implementation.createDocument("","",null); // 익스플로러 } else if (typeof ActiveXObject != "undefined") { var msXmlAx = null; try { //최신버젼 msXmlAx = new ActiveXObject("Msxml2.DOMDocument"); } catch (e) { //구 버젼 msXmlAx = new ActiveXObject("Msxml.DOMDocument"); } xDoc = msXmlAx; } return xDoc; } function xDocHandler () { var xDocPath = 'test.xml'; this.objXdoc; this.xDoc = getXMLDocument this.objXdoc = this.xDoc(); this.objXdoc.async = false; this.objXdoc.load(xDocPath); } function xDocNodeSearch(str) { var xDoc = new xDocHandler(); var XmlDoc = xDoc.objXdoc.getElementsByTagName('item'); var cnt = XmlDoc.length; for (var i = 0; i < cnt; i++) { if (XmlDoc[i].getAttribute('name') == str) { var alts = '[메세지] ' + xDoc.objXdoc.getElementsByTagName('msg')[i].firstChild.data; alts += '\n\n[링크]' + xDoc.objXdoc.getElementsByTagName('link')[i].firstChild.data; alert(alts); } } } xDocNodeSearch('test');
XML Source : test.xml
<?xml version="1.0" encoding="euc-kr" ?> <message> <item name="test"> <msg>안녕하세요. Syaku 블로그 입니다.</msg> <link>http://blog.naver.com/syaku</link> </item> <item name="test2"> <msg>안녕하세요. 샤쿠 블로그 입니다.</msg> <link>http://blog.naver.com/syaku</link> </item> </message>
written by Seok Kyun. Choi. 최석균.
http://www.cyworld.com/syaku
http://syaku.tistory.com
반응형
'개발노트 > JavaScript' 카테고리의 다른 글
XPath 를 이용한 selectSingleNode 사용하기 : 자바스크립트 (0) | 2009.03.19 |
---|---|
간단한 동적 SELECT 박스 구현하기 : 자바스크립트 (1) | 2009.03.18 |
간단한 XML 파일 읽어오기 (DOM) : 자바스크립트 (0) | 2009.03.18 |
FORM 내의 입력 엘리먼트 값 가져오기 (Parameter 형식) : 자바스크립트 (1) | 2009.03.18 |