我有一个变量字符串,它包含格式良好且有效的XML。我需要使用JavaScript代码来解析这个提要
如何使用(与浏览器兼容的)JavaScript代码实现这一点
2017年更新答案
以下内容将在所有主要浏览器中将XML字符串解析为XML文档。除非您需要IE支持<;=8或一些模糊的浏览器,您可以使用以下功能:
函数解析XML(xmlStr){
返回new window.DOMParser().parseFromString(xmlStr,“text/xml”);
}
如果您需要支持IE<;=8、以下内容将完成此工作:
var parseXml;
if(typeof window.DOMParser!=“未定义”){
parseXml=函数(xmlStr){
返回new window.DOMParser().parseFromString(xmlStr,“text/xml”);
};
}else if(typeof window.ActiveXObject!=“未定义”&;
新建window.ActiveXObject(“Microsoft.XMLDOM”)){
parseXml=函数(xmlStr){
var xmlDoc=new window.ActiveXObject(“Microsoft.XMLDOM”);
xmlDoc.async=“false”;
loadXML(xmlStr);
返回xmlDoc;
};
}否则{
抛出新错误(“未找到XML解析器”);
}
一旦通过parseXml获得了文档,就可以使用常见的DOM遍历方法/属性,例如childNodes和getElementsByTagName()来获取所需的节点
用法示例:
var xml=parseXml(“<;foo>;Stuff<;/foo>;”);
警报(xml.documentElement.nodeName);
如果您使用的是jQuery,那么从1.5版开始,您可以使用其内置的parseXML()方法,该方法在功能上与上面的函数相同
var xml=$.parseXML(“<;foo>;Stuff<;/foo>;”);
警报(xml.documentElement.nodeName);