JavaScript中变量字符串的XML解析

我有一个变量字符串,它包含格式良好且有效的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遍历方法/属性,例如childNodesgetElementsByTagName()来获取所需的节点

用法示例:

var xml=parseXml(“<foo>Stuff</foo>”);
警报(xml.documentElement.nodeName);

如果您使用的是jQuery,那么从1.5版开始,您可以使用其内置的parseXML()方法,该方法在功能上与上面的函数相同

var xml=$.parseXML(“<foo>Stuff</foo>”);
警报(xml.documentElement.nodeName);

发表评论