XML 파서
XML 파서
모든 최신 브라우저에는 XML 파서가 내장되어 있습니다.
XML 파서는 XML 문서를 XML DOM 객체(JavaScript를 통해 조작할 수 있는 객체)로 변환합니다.
XML 문서 구문 분석
다음 코드 조각은 XML 문서를 XML DOM 객체로 구문 분석합니다.
if (window.XMLHttpRequest)
{// IE7+, Firefox, Chrome, Opera, Safari용 코드
xmlhttp=new XMLHttpRequest();
}
그밖에
{// IE6, IE5용 코드
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
{// IE7+, Firefox, Chrome, Opera, Safari용 코드
xmlhttp=new XMLHttpRequest();
}
그밖에
{// IE6, IE5용 코드
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
XML 문자열 구문 분석
다음 코드 조각은 XML 문자열을 XML DOM 개체로 구문 분석합니다.
txt="<bookstore><book>" 🎜>txt=txt+"<title>매일 이탈리아어</title>";
txt=txt+"<author>Giada De Laurentiis</author>";
txt=txt+"<연도> ;2005< ;/연도>";
txt=txt+"</book></bookstore>";
if (window.DOMParser)
{
파서=새 DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // 인터넷 익스플로러
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt)
}
txt=txt+"<author>Giada De Laurentiis</author>";
txt=txt+"<연도> ;2005< ;/연도>";
txt=txt+"</book></bookstore>";
if (window.DOMParser)
{
파서=새 DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // 인터넷 익스플로러
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt)
}
참고: Internet Explorer는 loadXML() 메서드를 사용하여 XML 문자열을 구문 분석하는 반면 다른 브라우저는 DOMParser 개체를 사용합니다.
교차 도메인 액세스보안상의 이유로 최신 브라우저는 교차 도메인 액세스를 허용하지 않습니다. 이는 웹페이지와 로드하려는 XML 파일이 모두 동일한 서버에 있어야 함을 의미합니다.
XML DOM다음 장에서는 XML DOM 객체에 액세스하고 데이터를 검색하는 방법을 배우게 됩니다.