由於專案上需要解析xml,於是各種百度,然後自己總結了下各個主流瀏覽器解析xml的方法,只能是很淺顯的知道他的用法,但是還沒有深層的研究。
不同的瀏覽器對xml的解析方式不同,根據目前主流瀏覽器大致分為三類:
第一類,ie祖宗: js 提供用於建立Automation物件的方法,new ActiveXObject("Microsoft.XMLDOM" ) ;
第二類:firefox,opera:用構造函數DOMParser()實例化DOMParser對象,解析xml文本,並返回xml Document對象;
第三類:chrome,safari:由於chrome不支援load方法,故用http協議,XMLHttpRequest物件。
程式碼:
function loadXML(){ var xmlDoc; try{ //IE xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); }catch(e){ //firefox,opera xmlDoc = document.implementation.createDocument("","",null); } try{ xmlDoc.asyc = false; //是否异步调用 xmlDoc.load("xxx.xml"); //文件路径 }catch(e){ //chrome var xmlhttp = new window.XMLHttpRequest(); xmlhttp.open("GET","xxx.xml",false); //创建一个新的http请求,并指定此请求的方法、URL以及验证信息 xmlDoc = xmlhttp.responseXML; } return xmlDoc; }
傳回的xmlDoc對象,其中屬性documentElement包含了xml節點的各種值,可以console出來慢慢找。
ps:如果是讀取本機xml,chrome預設是禁止存取本機文件,需要增加啟動參數 --allow-file-access-from-files。