XML ½âÎöÆ÷
ËùÓÐÏÖ´úä¯ÀÀÆ÷¶¼ÄÚ½¨Á˹©¶ÁÈ¡ºÍ²Ù×÷ XML µÄ XML ½âÎöÆ÷¡£
½âÎöÆ÷°Ñ XML ת»»Îª XML DOM ¶ÔÏó - ¿Éͨ¹ý JavaScript ²Ù×÷µÄ¶ÔÏó¡£
ʵÀý
W3School ÌṩµÄʵÀýÊǶÀÁ¢ÓÚä¯ÀÀÆ÷ºÍƽ̨µÄ¡£ÕâЩÀý×Ó¿ÉÒÔÔÚËùÓÐÏÖ´úä¯ÀÀÆ÷ÖÐÔËÐС£
½âÎö XML
ËùÓÐÏÖ´úä¯ÀÀÆ÷¶¼ÓжÁÈ¡ºÍ²Ù×÷ XML µÄÄÚ½¨ XML ½âÎöÆ÷¡£
½âÎöÆ÷°Ñ XML ÔØÈëÄڴ棬Ȼºó°ÑËüת»»Îª¿Éͨ¹ý JavaScript ·ÃÎ浀 XML DOM ¶ÔÏó¡£
Äú½«ÔÚ±¾½Ì³ÌµÄÏÂÒ»½ÚÖÐѧϰ¸ü¶àÓÐ¹Ø XML DOM µÄ֪ʶ¡£
΢ÈíµÄ XML ½âÎöÆ÷ÓëÆäËûä¯ÀÀÆ÷ÖеĽâÎöÆ÷Ö®¼ä£¬´æÔÚһЩ²îÒ졣΢ÈíµÄ½âÎöÆ÷Ö§³Ö XML ÎļþºÍ XML ×Ö·û´®£¨Îı¾£©µÄ¼ÓÔØ£¬¶øÆäËûä¯ÀÀÆ÷ʹÓõ¥¶ÀµÄ½âÎöÆ÷¡£²»¹ý£¬ËùÓеĽâÎöÆ÷¶¼°üº¬±éÀú XML Ê÷¡¢·ÃÎʲåÈ뼰ɾ³ý½Úµã£¨ÔªËØ£©¼°ÆäÊôÐԵĺ¯Êý¡£
ÔÚ±¾½Ì³ÌÖУ¬ÎÒÃǽ«ÎªÄúչʾÈçºÎ´´½¨¿Éͬʱ¹¤×÷ÓÚ Internet Explorer ºÍÆäËûä¯ÀÀÆ÷ÖеĽű¾¡£
×¢ÊÍ£ºµ±ÎÒÃÇ̸¼° XML ½âÎö£¬ÎÒÃdz£³£»áʹÓÃÓÐ¹Ø XML ÔªËØµÄÊõÓ½Úµã¡£
½âÎö XML Îĵµ
ÏÂÃæµÄ´úÂëÆ¬¶Î°Ñ XML Îĵµ½âÎöµ½ XML DOM ¶ÔÏóÖУº
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","books.xml",false); xmlhttp.send(); xmlDoc=xmlhttp.responseXML;
ÆäËû·½·¨ 1£ºÍ¨¹ý΢ÈíµÄ XML ½âÎöÆ÷À´¼ÓÔØ XML
΢ÈíµÄ XML ½âÎöÆ÷ÄÚ½¨ÓÚ Internet Explorer 5 ÒÔ¼°¸ü¸ßµÄ°æ±¾ÖС£
ÏÂÃæµÄ JavaScript Ƭ¶Î°ÑÒ»¸ö XML ÎĵµÔØÈë½âÎöÆ÷ÖУº
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
;
xmlDoc.async="false";
xmlDoc.load("note.xml");
- ÉÏÃæ´úÂëµÄµÚÒ»¸öÐд´½¨Ò»¸ö¿ÕµÄ΢Èí XML Îĵµ¶ÔÏó¡£
- µÚ¶þÐйرÕÒì²½¼ÓÔØ£¬ÕâÑùÈ·±£ÔÚÎĵµÍêÈ«¼ÓÔØÖ®Ç°½âÎöÆ÷²»»á¼ÌÐø½Å±¾µÄÖ´ÐС£
- µÚÈýÐиæÖª½âÎöÆ÷¼ÓÔØÃûΪ "note.xml" µÄ XML Îĵµ¡£
ÆäËû·½·¨ 2£ºÔÚ Firefox ¼°ÆäËûä¯ÀÀÆ÷ÖÐµÄ XML ½âÎöÆ÷
ÏÂÃæµÄ JavaScript Ƭ¶Î°Ñ XML Îĵµ ("note.xml") ÔØÈë½âÎöÆ÷£º
var xmlDoc=document.implementation.createDocument("","",null)
;
xmlDoc.async="false";
xmlDoc.load("note.xml");
- ÉÏÃæ´úÂëµÄµÚÒ»¸öÐд´½¨Ò»¸ö¿ÕµÄ XML Îĵµ¶ÔÏó¡£
- µÚ¶þÐйرÕÒì²½¼ÓÔØ£¬ÕâÑùÈ·±£ÔÚÎĵµÍêÈ«¼ÓÔØÖ®Ç°½âÎöÆ÷²»»á¼ÌÐø½Å±¾µÄÖ´ÐС£
- µÚÈýÐиæÖª½âÎöÆ÷¼ÓÔØÃûΪ "note.xml" µÄ XML Îĵµ¡£
½âÎö XML ×Ö·û´®
ÏÂÃæµÄ JavaScript ´úÂëÆ¬¶Î°Ñ XML ×Ö·û´®½âÎöµ½ XML DOM ¶ÔÏóÖУ¨°Ñ×Ö·û´® txt ÔØÈë½âÎöÆ÷£©£º
txt="<bookstore><book>"; txt=txt+"<title>Everyday Italian</title>"; txt=txt+"<author>Giada De Laurentiis</author>"; txt=txt+"<year>2005</year>"; txt=txt+"</book></bookstore>"; if (window.DOMParser) { parser=new DOMParser()
; xmlDoc=parser.parseFromString(txt,"text/xml"); } else // Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
; xmlDoc.async="false"; xmlDoc.loadXML(txt); }
×¢ÊÍ£ºInternet Explorer ʹÓà loadXML() ·½·¨À´½âÎö XML ×Ö·û´®£¬¶øÆäËûä¯ÀÀÆ÷ʹÓà DOMParser ¶ÔÏó¡£
×¢ÊÍ£ºloadXML() ·½·¨ÓÃÓÚ¼ÓÔØ×Ö·û´®£¨Îı¾£©£¬load() ÓÃÓÚ¼ÓÔØÎļþ¡£
¿çÓò·ÃÎÊ
³öÓÚ°²È«·½ÃæµÄÔÒò£¬ÏÖ´úµÄä¯ÀÀÆ÷²»ÔÊÐí¿çÓòµÄ·ÃÎÊ¡£
ÕâÒâζ×Å£¬ÍøÒ³ÒÔ¼°ËüÊÔͼ¼ÓÔØµÄ XML Îļþ£¬¶¼±ØÐëλÓÚÏàͬµÄ·þÎñÆ÷ÉÏ¡£
W3School µÄʵÀýËù´ò¿ªµÄ XML ÎļþλÓÚ W3School µÄÓòÉÏ¡£
¼ÙÈçÄã´òËãÔÚ×Ô¼ºµÄÍøÒ³ÉÏʹÓÃÉÏÃæµÄÀý×Ó£¬Ôò±ØÐë°Ñ XML Îļþ·Åµ½×Ô¼ºµÄ·þÎñÆ÷ÉÏ¡£·ñÔò£¬xmlDoc.load() ½«²úÉú´íÎó "Access is denied"¡£
XML DOM
ÔÚ±¾½Ì³ÌµÄÏÂÒ»Õ½ڣ¬Äú½«Ñ§Ï°ÈçºÎ·ÃÎÊ XML Îĵµ¶ÔÏó (XML DOM) ²¢È¡»ØÊý¾Ý¡£