javascript - 使用 Javascript 将 xml 加载到类

标签 javascript xml

如何使用 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/

相关文章:

javascript - 将查询字符串参数转换为 JSON 对象

javascript - 将 Firebase 数据存储到 JavaScript 中的数组中

javascript - 将来自响应服务器 JSON 的标签 "series:"添加到 Highcharts 中

sql - 如何在 FOR XML PATH 中选择不同的值?

python - 属性“invisible”在 odoo 中不起作用

Android,帮助解决 simpleframework PersistenceException

javascript - 使用 jQuery 在 IE10 中动态提交文件上传表单

javascript - Flexslider 上的文本叠加

c# - 在 C# 代码中解析(大)XML 的最佳方法是什么?

xml - 如何将数据从 xml 文件保存到 django 1.9 中的 postgresql 数据库?