当前位置: 首页 > 面试题库 >

跨浏览器Javascript XML解析

邴星洲
2023-03-14
问题内容

是否有任何跨浏览器/跨平台的方法来解析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;


 类似资料:
  • 问题内容: 专业的网页设计师如何创建跨浏览器的CSS?通常是手动完成,还是像YUI针对JavaScript那样可以简化流程的工具包?我希望远离Dreamweaver之类的所见即所得编辑器。谢谢! 问题答案: 通常是手工完成的。 通常从对比赛场地应用CSS重置开始。 而且,您应该针对符合标准的CSS,然后作为对IE的最后手段,才可以使用hacks(是的,我刚刚说过)。

  • 问题内容: 我正在从Firefox 3.5开始为新服务开发Web应用程序。 界面设计是无表的,仅使用divs + CSS和性能良好的做法。 现在,尽管与Safari兼容仅花费了很少的时间,但IE还是很痛苦。 我的问题是:有什么可以用来加速跨浏览器检查的吗?例如,我已经知道FF和IE之间的许多区别,但是使用特定工具可能会有所帮助。 你能建议一个吗? 谢谢, 猩红 问题答案: 跨浏览器开发 没有工具可

  • 问题内容: 我想做一个闪烁的文本。 首先,我尝试了HTML标记,但仅Mozilla Firefox支持。 然后我尝试了CSS: 在IE 6上无法正常工作。 然后我尝试了javascript: 现在,它无法在Safari或Chrome上运行。 有人可以帮我使用可在所有流行浏览器上运行的闪烁文本吗?(IE 6,Mozilla Firefox,Google Chrome Safari,Opera。) 问

  • 问题内容: 如何找到浏览器的Javascript引擎版本以及对ECMAScript 6的支持? 我只是想知道浏览器的版本,而不是引擎的版本。 问题答案: 特征检测 我建议您使用 功能检测, 而不要使用启发式方法检测浏览器的引擎。为此,您可以简单地 在语句中包装一些代码,或使用一些语句。 例如: 为什么功能检测比浏览器/引擎检测更好? 在大多数情况下,有多种原因可以使特征检测成为最佳选择: 您不必依

  • 什么能解释这一点呢?在这种情况下,Edge可能更好,因为我不确定它是否能在Safari中工作。 密码链接!

  • 问题内容: 以下代码的Opera和IE替代品是什么? 注意 ,我已经测试了以下规则。所有浏览器都支持它们。但是它们是垂直渐变。谁能帮我将它们修改为水平的? 问题答案: background-image: -ms-linear-gradient(right, #0c93C0, #FFF); background-image: -o-linear-gradient(right, #0c93C0, #F