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 方法对其进行导航,例如如 childNodes 和 getElementsByTagName().
jQuery 解决方案
jQuery 从 1.5 版本开始,提供了一个方便的 parseXML() 方法与上面的代码具有相同的目的片段:
var xml = $.parseXML("<foo>Stuff</foo>"); alert(xml.documentElement.nodeName);
以上是如何在不同浏览器中解析 JavaScript 中变量的 XML 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!