zoukankan      html  css  js  c++  java
  • 将XML解析成DOM文档

    在支持html5的浏览其中,可以使用标准解析器DOMParser对象进行解析html或者xml等字符串

    var data = '<div></div>';
    var tmp = new DOMParser();
    xml = tmp.parseFromString(data, 'text/html');//解析xml时为text/xml

     这时xml就是需要的dom文档了,也就是说,可以把它当成一个document对象,调用其中的节点
    如xml.getElementsByTagName('div');

    在IE以外的浏览器中,如果解析失败,方法parseFromString不会跑出异常,返回的是这么一段包含parseerror节点的文档对象

    但是在IE9+中,会抛出异常

    IE9以下不支持DOMParser,在IE9以下,实现方式为

    var xml = new ActiveXObject("Microsoft.XMLDOM");
    xml.async = "false";
    xml.loadXML(data);

    该方法如果解析失败,会返回false,如果解析成功,返回true,结果保存在xml中,完整的方法

    function parseXML(data) {
        var xml, tmp;
        try {
            if (window.DOMParser) {
                tmp = new DOMParser();
                xml = tmp.parseFromString(data, 'text/xml');
            } else {
                xml = new ActiveXObject("Microsoft.XMLDOM");
                xml.async = "false";
                xml.loadXML(data);
            }
        }  catch(e) {
            xml = undefined;
        }
        if (!xml || !xml.documentElement || xml.getElementsByTagName('parseerror').length) {
            return false;
        }
        return xml;
    }

    其中检测xml.documentElement是为了检测IE9以下的错误

  • 相关阅读:
    HDU
    稀疏表(ST / Sparse Table)
    HDU
    HDU
    树状数组
    用 BitArray 来编写埃拉托斯特尼筛法
    BitArray 内置是逆序存储, 因此要自行实现正序输出
    位运算,位移,窗体
    按位运算,窗体程序,And,Or,Xor
    基数排序
  • 原文地址:https://www.cnblogs.com/strayling/p/3638688.html
Copyright © 2011-2022 走看看