首頁 > web前端 > js教程 > JavaScript解析XML檔案時如何實現跨瀏覽器相容?

JavaScript解析XML檔案時如何實現跨瀏覽器相容?

Susan Sarandon
發布: 2024-11-14 10:47:02
原創
905 人瀏覽過

How to achieve cross-browser compatibility when parsing XML files in JavaScript?

JavaScript 中的跨瀏覽器XML 解析

在Web 開發中,經常需要用JavaScript 解析XML 文件,無論瀏覽器或平台正在使用中。然而,實現跨瀏覽器相容性可能很棘手。

解決方案:

下面提供的程式碼提供了一個適用於所有主要瀏覽器(包括 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");
}
登入後複製

用法範例:

要使用此解決方案,只需使用要解析的XML 字串呼叫parseXml 函數,如下所示:

var xml = parseXml("<foo>Stuff</foo>");
登入後複製

產生的xml 物件可用於以程式設計方式存取XML 文件。例如,以下程式碼片段檢索根元素的名稱:

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" &amp;&amp;
       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;
登入後複製

此程式碼片段解析XML 字串並在文件正文中顯示根元素的名稱。

以上是JavaScript解析XML檔案時如何實現跨瀏覽器相容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板