我知道已经存在this问题,但它没有给我带来好运。
我有一个应用程序,它通过以下方法加载一个物理XML文档:
jQuery.ajax({
type: "GET",
url: fileName,
dataType: "xml",
success: function (data) {
// etc...
}
});
我解析XML并将其转换为一个字符串,该字符串保存到变量中,以便可以轻松地存储在数据库中。我现在如何将此变量中的数据转换回XML对象,以便可以对其进行解析?
答案 0 :(得分:66)
非jQuery版本:
var parseXml;
if (window.DOMParser) {
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 {
parseXml = function() { return null; }
}
var xmlDoc = parseXml("<foo>Stuff</foo>");
if (xmlDoc) {
window.alert(xmlDoc.documentElement.nodeName);
}
从jQuery 1.5开始,您可以使用jQuery.parseXML()
,其工作方式与上面的代码完全相同:
var xmlDoc = jQuery.parseXML("<foo>Stuff</foo>");
if (xmlDoc) {
window.alert(xmlDoc.documentElement.nodeName);
}
答案 1 :(得分:4)
使用jquery,您可以使用$.parseXML(str)
,https://api.jquery.com/jQuery.parseXML/
答案 2 :(得分:3)
如果它仍然是XML格式,你应该能够将它包装在jQuery函数中并开始使用jQuery来解析它。例如:
$(xmlStringFromDB).find('foo');