如何使用 Javascript 将 XML 文件加载到类中?
最佳答案
不幸的是,每个浏览器都有自己的解析包含 XML 的字符串的方法。以下是我所知道的针对三大浏览器中的每一个的方法。请注意,我没有机会尝试其中的每一个,因为它们是从各种博客和我自己的内存中拼凑而成的。
Firefox 有一个名为 DOMParser
的对象,可用于解析字符串中的 XML。 API 非常简单——实例化 DOMParser
并调用它的 parseFromString
方法。这是一个例子:
var xmlString = '<?xml version="1.0"?>...';
var parser = new DOMParser();
var dom = parser.parseFromString(theString, "text/xml");
// use dom
IE 使用 Microsoft ActiveX XMLDOM 控件,因此您必须实例化 DOM 控件并使用它的方法,这里还是一个例子:
var xmlString = '<?xml version="1.0"?>...';
dom=new ActiveXObject("Microsoft.XMLDOM");
dom.async="false";
dom.loadXML(xmlString);
// use dom
最后,怪异的 Safari 版本。 Safari 没有内置解析器,而且由于它不在 Windows 上运行,因此不支持 ActiveX 控件。但是,Safari 确实支持 data:
url。在 Safari 中,带有文档的 URL 是通过 XMLHTTPRequest 创建和调用的。与所有 XMLHttpRequest 一样,您可以使用 XMLHttpRequest 的标准 responseXml
属性来访问 DOM。
var xmlString = '<?xml version="1.0"?>...';
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
关于javascript - 使用 Javascript 将 xml 加载到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/601102/