問題: 使用 XML 資料通常涉及從動態來源將其作為字串檢索。我們如何使用與現代瀏覽器相容的 JavaScript 程式碼來有效地解析和操作這些 XML 資料?
解:
對於瀏覽器支援DOMParser接口,以下函數提供了簡單的XML解析機制:
function parseXml(xmlStr) { return new window.DOMParser().parseFromString(xmlStr, "text/xml"); }
用法範例:
var xml = parseXml('<foo>Stuff</foo>'); console.log(xml.documentElement.nodeName); // Outputs: "foo"
在DOMParser 不可用的情況下,例如在Internet Explorer版本更高的情況下到8,以下程式碼片段提供了一個後備使用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"); }
jQuery 版本1.5 及更高版本包含一個方便的$. parseXML() 方法,提供類似的功能:
var xml = $.parseXML('<foo>Stuff</foo>'); console.log(xml.documentElement.nodeName); // Outputs: "foo"
以上是如何使用現代和傳統瀏覽器相容的方法解析 JavaScript 中的動態 XML 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!