美文网首页
四周搞定《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