Analyse XML multiplateforme en JavaScript
L'analyse de fichiers XML en JavaScript peut présenter des défis en raison de problèmes de compatibilité du navigateur. Pour garantir une analyse transparente dans tous les navigateurs, voici une technique qui fonctionne de manière cohérente :
Fonctions d'analyse XML spécifiques au navigateur :
Pour répondre aux différents navigateurs, nous définissons deux fonctions d'analyse :
DOMParser (navigateurs modernes) :
parseXml = function(xmlStr) { return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml"); };
ActiveXObject (Internet Explorer) :
parseXml = function(xmlStr) { var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.loadXML(xmlStr); return xmlDoc; };
Mécanisme de repli :
Si aucune de ces fonctions n'est prise en charge, une erreur est générée.
Utilisation :
Pour utiliser ces fonctions, attribuez parseXml à une fonction qui prend en charge votre navigateur cible :
if (typeof window.DOMParser != "undefined") { // Use DOMParser for modern browsers } else if (typeof window.ActiveXObject != "undefined" && new window.ActiveXObject("Microsoft.XMLDOM")) { // Use ActiveXObject for Internet Explorer } else { throw new Error("No XML parser found"); }
Exemple :
var xml = parseXml("<foo>Stuff</foo>"); alert(xml.documentElement.nodeName);
Ce code fonctionne dans tous les principaux navigateurs, vous permettant d'analyser les fichiers XML en toute confiance sur toutes les plates-formes et versions de navigateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!