首頁 >web前端 >js教程 >如何在不同瀏覽器中解析 JavaScript 中變數的 XML 字串?

如何在不同瀏覽器中解析 JavaScript 中變數的 XML 字串?

Susan Sarandon
Susan Sarandon原創
2024-12-12 18:19:131071瀏覽

How Can I Parse XML Strings from Variables in JavaScript Across Different Browsers?

JavaScript 中變數字串的 XML 解析

從變數字串解析 XML 在 JavaScript 中是一個挑戰。本文將解決此需求並提供與瀏覽器相容的解決方案。

解決方案

在現代瀏覽器中,建議的方法是使用 DOMParser() 介面。以下程式碼段有效解析XML 字串:

function parseXml(xmlStr) {
   return new window.DOMParser().parseFromString(xmlStr, "text/xml");
}

但是,對於可能不支援DOMParser 的瀏覽器(例如​​IE ActiveXObject 的後備解決方案方案:

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 文件後,您可以使用標準DOM 方法進行導航,例如如childNodesgetElementsByTagName().

jQuery 解決方案

jQuery1.5 版本開始,提供了一個方便的版本開始,提供了一個方便的版本。 parseXML()方法與上面的程式碼有相同的目的片段:

var xml = $.parseXML("<foo>Stuff</foo>");
alert(xml.documentElement.nodeName);

以上是如何在不同瀏覽器中解析 JavaScript 中變數的 XML 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn