为了账号安全,请及时绑定邮箱和手机立即绑定

跨浏览器Javascript xml解析

跨浏览器Javascript xml解析

白衣染霜花 2019-07-09 14:59:59
跨浏览器Javascript xml解析有没有跨浏览器/跨平台的方法来解析Javascript中的XML文件?
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

以下内容将适用于所有主要浏览器,包括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;


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 405 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信