以下是js代码

/ 封装IE和Firefox类浏览器中装载同域XML或XML字符串的方法, @param flag true表示装载XML的文件,false表示装载XML的字符串 @param xmldoc flag为true表示XML文件的路径,flag为false表示XML字符串 / function loadXML(flag,xmldoc){ if(window.activeXObject) { //IE浏览器 //创建空的XML工具 var activexName = [\"大众MSXML2.DOMDdcument\"大众,\公众Miscrosoft.XmlDom\"大众]; var xmlObj; for(var i = 0; i < actviexName.length;i++){ try{ xmlObj = new ActiveXObject(activeName[i]); break; }catch(e){ } } if(xmlObj){ //同步办法装载XML数据,确保在文档完备加载之前解析器不会连续脚本的实行 xmlObj.async = false; if(flag){ //load用于加载文件,loadXML用于加载字符串 //装载XML文件 xmlObj.load(xmldoc); }else{ //装载XML的字符串 xmlObj.loadXML(xmldoc); } //返回根节点 return xmlObj; //返回根元素节点 return xmlObj.documentElement; }else{ alert(\公众装载XML文档的工具创建失落败\"大众); return null; } }else if(document.implementation.creatDocument){ //针对Firefox类浏览器 var xmlObj; if(flag){ //装载XML文件 //先创建一个空的xml dom工具 xmlObj = document.implementation.creatDocument(\公众\公众,\公众\"大众,null); if(xmlObj){ //同步办法进行装载 xmlObj.async = false; xmlObj.load(xmldoc); return xmlObj.documentElement; }else{ alert(\公众装载XML文档的工具创建失落败\"大众); return null; } }else{ //装载XML的字符串 //创建一个dom解析器 xmlObj = new DOMParser(); //把xml字符串解析成要返回的dom工具 var docRoot = xmlObj.parerFromString(xmldoc,\"大众test/xml\"大众); return docRoot.documentElement; } } alert(\"大众装载XML文档的工具创建失落败\"大众); return null;}

html代码

<html> <head> <title>TODO supply a title</title> <meta charset=\公众UTF-8\"大众> <meta name=\公众viewport\公众 content=\公众width=device-width, initial-scale=1.0\"大众> <script type=\公众text/javascript\"大众 src=\"大众load.js\"大众></script> <script type=\"大众text/javascript\"大众> function test(){ //装载同域的XML文件 var domxml1 = loadXML(true,\公众test.xml\公众); //装载XML字符串 var domxml2 = loadXML(true,\"大众<xml>123</xml>\"大众); alert(\公众\"大众); } </script> </head> <body> <input type=\公众button\公众 value=\公众test\"大众 onclick=\"大众test()\"大众/> </body></html>

XML页内容

html中使用xmlJavaScript中装载XML文档 JavaScript

<?xml version=\"大众1.0\公众 encoding=\"大众UTF-8\公众?><root> 木子松便是我,我便是木子松</root>

总结

对付装载同域的XML文件,IE浏览器和火狐类浏览器都是先创建一个空的XML文档工具,然后用“xmlDoc.load(“.xml”)”奉告解析器加载名为.xml的XML文档

对付装载XML字符串,IE浏览器和装载XML文件的办法一样,利用微软内建的解析器加载XML字符串;而火狐类浏览器,则是通过\公众var parser = new DOMParser()\"大众创建dom解析器,然后利用方法parserFromString()加载 XML字符串。
其余DOMParser工具的load()方法可用于加载文件。

跨域访问处于安全方面的缘故原由,现在的浏览器不许可跨域访问。
如果想跨域访问,则必须把XML文件放到自己的做事器上,否则,xmlDoc.load()将产生缺点“Access is denied”。