如何在JavaScript中将字符串转换为XML对象?

我知道这个问题已经存在,但它给了我一点运气。

我有一个应用程序通过以下方法加载一个物理XML文档:

jQuery.ajax({ type: "GET", url: fileName, dataType: "xml", success: function (data) { // etc... } }); 

我解析XML并将其转换为一个字符串,该字符串保存到变量中,以便可以轻松地存储在数据库中。 我现在如何将此变量中的数据转换回XML对象,以便可以对其进行解析?

非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("Stuff"); if (xmlDoc) { window.alert(xmlDoc.documentElement.nodeName); } 

从jQuery 1.5开始,你可以使用jQuery.parseXML() ,它的工作方式与上面的代码完全相同:

 var xmlDoc = jQuery.parseXML("Stuff"); if (xmlDoc) { window.alert(xmlDoc.documentElement.nodeName); } 

使用jquery,您可以使用$.parseXML(str) , https: $.parseXML(str)

如果它仍然是XML格式,你应该能够将它包装在jQuery函数中并开始使用jQuery来解析它。 例如:

 $(xmlStringFromDB).find('foo');