javascript 혹은 jquery를 이용하여 xml 문서를 만드는 방법에 대해서 알아보도록 하겠습니다.
방법은 간단하며, javascript로 생성 시 xml selector에 대해서는 이번 시간에 설명하지 않도록 하겠습니다.
xml document
<?xml version="1.0" encoding="utf-8" ?> <Nodes> <Node Title="Collaboration Home" Url="/" ID="18295af4-d049-40ce-a7ed-e7fdafbbff82" ParentID="" Prefix="" SiteID="81ds4s67-0509-41a1-a46c-0fc6ae94490c" /> <Node Title="tt" Url="/tt" ID="2c62624f-07fc-44a3-3617-es67c57448e" ParentID="18295af7-d049-40ce-a7ed-e7fdafbbff82" Prefix="tt" SiteID="81s04e67-0509-41a1-a46c-0fc6ae94490c" /> <Node Title="PI/IT Home" Url="/cc/cio" ID="5318f72b-b3b6-4cab-924d-90e0c9d7addf" ParentID="" Prefix="cc" SiteID="a1asc33b-bbfd-4285-8963-949f653eb7dd" /> <Node Title="CIO Office Only" Url="/cc/cio/cioonly" ID="e021d10e-8592-4fa6-8e00-33fc7beas384" ParentID="53e8s72b-b3b6-4cab-924d-90e0c9d7addf" Prefix="cc" SiteID="a1aac33b-sbfd-4285-8963-949f653eb7dd" /> </Nodes>
Script
$(document).ready(function() { // Jquery call .get Method $.get("noname1.xml", function(xml){ xmlString = xml; }); // JQuery call ajax $.ajax({ type: "get" ,url:"noname1.xml" ,dataType: "xml" ,async: false ,success: function(xml, isSuccess){ alert(xml); alert(isSuccess); } ,error: function(data, status, err) { //alert("data ==> " + data); alert("status ==> " + status); //alert("err ==> " + err); } }); // xml document parsing by file try{ var xmlhttp; if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else{// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","noname1.xml",false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; var node = xmlDoc.getElementsByTagNames("Node"); alert(node.length); } catch(ex){ //alert(ex.message); } // xml document parsing by string try{ if (window.DOMParser){ parser = new DOMParser(); xmlDoc = parser.parseFromString(xmlString,"text/xml"); } else{// Internet Explorer xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.validateOnParse = false; xmlDoc.resolveExternals = false; ret = xmlDoc.loadXML(xmlString); if(!ret){ alert(xmlDoc.parseError.reason); return false; } } } catch(ex){ //alert(ex.message); } // Jquery $(xmlDoc).find("Node").each(function(){ alert($(this).attr("Title")); return false; }); // Javascript var nodes = xmlDoc.getElementsByTagName("Node"); for(var x = 0; x < nodes.length; x++){ alert(nodes[x].getAttribute("Title")); return false; } });
감사합니다.
'Developer' 카테고리의 다른 글
개발자를 위한 웹 표준 CSS의 이해 2(작성 방법, 우선순위, Selector) (0) | 2011.03.09 |
---|---|
Microsoft SQL Server 2008 R2 - Reporting Service(리포팅 서비스)의 이해와 구성 방법 (0) | 2011.03.08 |
Javascript, JQuery preventDefault의 이해 (0) | 2011.02.23 |
CSS Cross Browser Zoom In/Out(웹 브라우저 줌인/줌아웃) (6) | 2011.02.22 |
Sharepoint 2010 대체 액세스 매핑(Alternate Access Mappings) (0) | 2011.02.22 |