美文网首页
四周搞定《JavaScript 高级程序设计》 - 读书笔记(D

四周搞定《JavaScript 高级程序设计》 - 读书笔记(D

作者: 显卡84du | 来源:发表于2018-12-15 17:59 被阅读9次

    第18章 JavaScript与XML

    这一章看得也挺折磨的,太枯燥了,用的时候再来翻翻手册这种方式比较好。

    18.1 浏览器对 XML DOM 的支持

    18.1.5 跨浏览器处理 XML

    以下函数可在四中主要浏览器中使用

    function parseXml(xml) {
        var xmldom = null;
    
        if (typeof DOMParser != "undefined") {
            xmldom = (new DOMParser().parseFromString(xml, "text/xml"));
    
            var errors = xmldom.getElementsByTagName("parseerror");
            if (errors.length) {
                throw new Error("XML parsing error:" + errors[0].textContent);
            } else if (typeof ActiveXObject != "undefined") {
                xmldom = createDocument();
                xmldom.loadXML(xml);
                if (xmldom.parseError != 0) {
                    throw new Error("XML parsing error:" + xmldom.parseError.reason);
                }
            } else {
                throw new Error("No XML parser available.");
            }
            return xmldom;
        }
    }
    

    使用这个函数解析 XML 字符串时,应该将其放在 try-catch 语句中,以防发生错误。

    var xmldom = null;
    
    try {
        xmldom = parseXml("<root><child/></root>")
    } catch (ex) {
        alert(ex.message);
    }
    
    

    同样的可以给出一个通用的序列化函数。

    function serializeXml(xmldom) {
        if (typeof XMLSerializer != "undefined") {
            return (new XMLSerializer()).serializeToString(xmldom);
        } else if (typeof xmldom.xml != "undefined") {
            return xmldom.xml;
        } else {
            throw new Error("Could not serialize XML DOM.");
        }
    }
    

    相关文章

      网友评论

          本文标题:四周搞定《JavaScript 高级程序设计》 - 读书笔记(D

          本文链接:https://www.haomeiwen.com/subject/bjzkxqtx.html