javascript - 跨浏览器 Javascript XML 解析

标签 javascript xml cross-browser cross-platform

是否有任何跨浏览器/跨平台的方法来解析 Javascript 中的 XML 文件?

最佳答案

以下内容适用于所有主流浏览器,包括 IE 6:

var parseXml;

if (typeof window.DOMParser != "undefined") {
    parseXml = function(xmlStr) {
        return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
    };
} else if (typeof window.ActiveXObject != "undefined" &&
       new window.ActiveXObject("Microsoft.XMLDOM")) {
    parseXml = function(xmlStr) {
        var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(xmlStr);
        return xmlDoc;
    };
} else {
    throw new Error("No XML parser found");
}

示例用法:

var xml = parseXml("<foo>Stuff</foo>");
alert(xml.documentElement.nodeName);

现场演示:

var parseXml;

if (typeof window.DOMParser != "undefined") {
    parseXml = function(xmlStr) {
        return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
    };
} else if (typeof window.ActiveXObject != "undefined" &&
       new window.ActiveXObject("Microsoft.XMLDOM")) {
    parseXml = function(xmlStr) {
        var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(xmlStr);
        return xmlDoc;
    };
} else {
    throw new Error("No XML parser found");
}

var xml = parseXml("<foo>Stuff</foo>");
document.body.innerHTML = "Root element: " + xml.documentElement.nodeName;

关于javascript - 跨浏览器 Javascript XML 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7949752/

相关文章:

javascript - 如何在react.js文件中导入带有脚本的html文件?

java - onBackPressed() - 无法解析符号 'webView'

xml - 文档 XSL : Set a default size/scale for imagedata elements?

javascript - 浏览器 - 避免用户标记 div 的最佳方法是什么

css - 在 div 中向左浮动在 IE7 中不起作用,但在 Firefox 和 IE8 中起作用

javascript - 从 Amazon S3 中提取 PDF 并直接在浏览器中从缓冲区/流中呈现

javascript - 在隐藏的 div 中选择 2 全 Angular ?

javascript - 如何固定LegendBox在图表中的位置?

java - 如何在两个xml标签之间输出?

html - 为什么这个 CSS 动画在 IE 上不起作用?