使用Javascript将xml加载到类中

1 javascript xml

如何使用Javascript将XML文件加载到类?

Bry*_*yle 6

不幸的是,每个浏览器都有自己的方式来解析包含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
Run Code Online (Sandbox Code Playgroud)

IE使用Microsoft ActiveX XMLDOM控件,因此您必须实例化DOM控件并使用其方法,这是一个示例:

var xmlString = '<?xml version="1.0"?>...';
dom=new ActiveXObject("Microsoft.XMLDOM");
dom.async="false";
dom.loadXML(xmlString);
// use dom
Run Code Online (Sandbox Code Playgroud)

最后,怪异的Safari版本.Safari没有内置解析器,并且由于它不在Windows上运行,因此它不支持ActiveX控件.但是,Safari确实支持data:网址.在Safari中,创建带有文档的URL并通过XMLHTTPRequest调用.与所有XMLHttpRequests一样,您使用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
Run Code Online (Sandbox Code Playgroud)