跨瀏覽器 解析 XML DOM
阿新 • • 發佈:2019-01-29
解析 XML 字串 - 一個跨瀏覽器的例項
下面的程式碼載入並解析了一個 XML 字串:
<html> <body> <script type="text/javascript"> text="<bookstore>" text=text+"<book>"; text=text+"<title>Harry Potter</title>"; text=text+"<author>J K. Rowling</author>"; text=text+"<year>2005</year>"; text=text+"</book>"; text=text+"</bookstore>"; try //Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(text); } catch(e) { try //Firefox, Mozilla, Opera, etc. { parser=new DOMParser(); xmlDoc=parser.parseFromString(text,"text/xml"); } catch(e) {alert(e.message)} } document.write("xmlDoc is loaded, ready for use"); </script> </body> </html>
註釋:Internet Explorer 使用 loadXML() 方法來解析 XML 字串,而其他瀏覽器使用 DOMParser 物件。
可以把供載入 XML 文件的程式碼儲存在單獨的函式中。
例項
- 為了避免因載入文件而重複編寫程式碼,可以把程式碼儲存在一個單獨的 JavaScript 檔案中:
function loadXMLDoc(dname) { try //Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } catch(e) { try //Firefox, Mozilla, Opera, etc.{ xmlDoc=document.implementation.createDocument("","",null); } catch(e) {alert(e.message)} } try { xmlDoc.async=false; xmlDoc.load(dname); return(xmlDoc); } catch(e) {alert(e.message)} return(null); }