Je suis conscient de cette question déjà existante, mais cela ne m'a pas donné de chance.
J'ai une application qui charge un document XML physique via la méthode suivante:
jQuery.ajax({
type: "GET",
url: fileName,
dataType: "xml",
success: function (data) {
// etc...
}
});
J'analyse le XML et le convertis en une chaîne qui est enregistrée dans une variable afin qu'il puisse facilement être stocké dans une base de données. Comment puis-je maintenant reconvertir les données de cette variable en un objet XML afin qu'elles puissent être analysées en tant que telles?
Version non 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);
}
Depuis jQuery 1.5, vous pouvez utiliser jQuery.parseXML()
, qui fonctionne exactement de la même manière que le code ci-dessus:
var xmlDoc = jQuery.parseXML("<foo>Stuff</foo>");
if (xmlDoc) {
window.alert(xmlDoc.documentElement.nodeName);
}
Avec jquery, vous pouvez utiliser $.parseXML(str)
, https://api.jquery.com/jQuery.parseXML/
S'il est toujours au format XML, vous devriez pouvoir l'envelopper dans la fonction jQuery et commencer à utiliser jQuery pour l'analyser. Par exemple:
$(xmlStringFromDB).find('foo');