如何使用Javascript将XML文件加载到类?
不幸的是,每个浏览器都有自己的方式来解析包含XML的字符串.以下是我所知道的三大浏览器的方式.请注意,我没有机会尝试这些,因为它们是从各种博客和我自己的记忆中拼凑而成的.
Firefox有一个名为的对象DOMParser
,可用于解析字符串中的XML.API非常简单 - 实例化DOMParser
并调用其parseFromString
方法.这是一个例子:
var xmlString = '...'; var parser = new DOMParser(); var dom = parser.parseFromString(theString, "text/xml"); // use dom
IE使用Microsoft ActiveX XMLDOM控件,因此您必须实例化DOM控件并使用其方法,这是一个示例:
var xmlString = '...'; dom=new ActiveXObject("Microsoft.XMLDOM"); dom.async="false"; dom.loadXML(xmlString); // use dom
最后,怪异的Safari版本.Safari没有内置解析器,并且由于它不在Windows上运行,因此它不支持ActiveX控件.但是,Safari确实支持data:
网址.在Safari中,创建带有文档的URL并通过XMLHTTPRequest调用.与所有XMLHttpRequests一样,您使用XMLHttpRequest的标准responseXml
属性来访问DOM.
var xmlString = '...'; var url = "data:text/xml;charset=utf-8," + encodeURIComponent(xmlString); var xhr = new XMLHttpRequest(); xhr.open("GET", url, false); xhr.send(null); var dom = xhr.responseXML; // Use dom here