我有以下内容,它从网站加载XML并解析它:
function load() {
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = parse;
xhttp.open('GET', 'http://...XML.xml', false);
xhttp.send();
}
function parse() {
xmlDoc = xhttp.responseXML.documentElement.childNodes;
for (var i = 0; i < xmlDoc.length; i++) {
nodeName = xmlDoc[i].nodeName;
...
}
加载后,我将它存储在localStorage中,我可以将其作为字符串检索。我需要能够将它转换回xml文档,如:
xmlDoc = xhttp.responseXML.documentElement.childNodes;
确实如此,所以我可以解析它。我一直在寻找一段时间,但无法弄明白。
提前致谢。
答案 0 :(得分:0)
根据这里的答案XML parsing of a variable string in JavaScript归功于@ tim-down
您需要创建XML解析器。然后将字符串传递给您的解析实例。然后你应该能够按照之前的方式查询它。
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");
}
使用示例:
var xml = parseXml("[Your XML string here]");