• 我转过几个弯 绕过那个小雨楼
  • 拿着蒲扇摆着衣衫渡着紧箍咒
  • 不问天涯不停留 喝过几壶酒
  • 不过年少白头道义放胸口
  • 倘若明天之后 遥看前尘剑封侯
  • 似那天上神仙无所求
  • 朝朝暮暮君如梦醒十分不为何理由
  • 是真是假是惶恐是无休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 又过了几个弯 算尽天量道莫慌
  • 踏这田园闻这芳草香
  • 跌跌撞撞仗剑天涯折煞不枉无笔良
  • 是梦是幻是温柔是家乡
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 谁能与我一醉方休

DOM2级兼容旧版IE创建兼容的loadXML()和.xml方法

182 0

前言:

由于DOM2不支持load()从外部加载xml文件,所以只能做loadXML()的兼容方法,有点可惜!

创建兼容的loadXML():

function createXMLDom(value){
    var xmlDom = null;
    if(typeof window.DOMParser != 'undefined') {
        xmlDom = (new DOMParser()).parseFromString(value,'text/xml');
        //alert((new XMLSerializer()).serializeToString(xmlDom)); //用来查看错误的xml里的信息
        var error = xmlDom.getElementsByTagName('parsererror');   //只有错误的xml里面才有parsererror标签;
        if(error.length > 0){
            throw new Error('错误信息:'+ error[0].textContent);
        }
    }else if(typeof window.ActiveXObject != 'undefined'){
        var xmlvie = ['MSXML2.DOMDocument.6.0','MSXML2.DOMDocument.3.0','MSXML2.DOMDocument'];
        for(var i = 0;i < xmlvie.length;i++){
            try {
                xmlDom = new ActiveXObject(xmlvie[i]);
            } catch(e) {
                //跳过
            }
            xmlDom.loadXML(value);            
        }
        if(xmlDom.parseError != 0) {
            throw new Error('错误行号:'+ xmlDom.parseError.line +
                            '\n错误代号:' + xmlDom.parseError.errorCode +
                            '\n错误解释:' + xmlDom.parseError.reason);
        }
    }else {
        throw new Error('当前浏览器或者系统不支持XML DOM');
    }
    
    return xmlDom;
}

创建兼容的.xml方法:

function serialize(xmlDom){
    var xml = '';
    if(typeof window.XMLSerializer != 'undefined') {
        xml = (new XMLSerializer()).serializeToString(xmlDom);
    }else if(typeof xmlDom.xml != 'undefined') {
        xml = xmlDom.xml;
    }
    return xml;
}

运行:

var xmlstr = '<root><user>lee</user></root>';
var xmlDom = createXMLDom(xmlstr);
var xml = serialize(xmlDom);
alert(xml);
0
微信收款码
微信收款码