由於項目上需要解析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。
以上所述是小編給大家介紹的使用JS讀取XML文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!