Maison > interface Web > js tutoriel > Comment obtenir une compatibilité entre navigateurs lors de l'analyse de fichiers XML en JavaScript ?

Comment obtenir une compatibilité entre navigateurs lors de l'analyse de fichiers XML en JavaScript ?

Susan Sarandon
Libérer: 2024-11-14 10:47:02
original
920 Les gens l'ont consulté

How to achieve cross-browser compatibility when parsing XML files in JavaScript?

Analyse XML multi-navigateurs en JavaScript

Dans le développement Web, il est souvent nécessaire d'analyser des fichiers XML en JavaScript, quel que soit le navigateur ou plateforme en cours d'utilisation. Cependant, assurer la compatibilité entre navigateurs peut être délicat.

Solution :

Le code fourni ci-dessous fournit une solution qui fonctionne sur tous les principaux navigateurs, y compris IE 6 :

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");
}
Copier après la connexion

Exemple d'utilisation :

Pour utiliser la solution, invoquez simplement la fonction parseXml avec la chaîne XML à analyser, comme indiqué ci-dessous :

var xml = parseXml("<foo>Stuff</foo>");
Copier après la connexion

L'objet XML résultant peut ensuite être utilisé pour accéder par programme au document XML. Par exemple, l'extrait de code suivant récupère le nom de l'élément racine :

alert(xml.documentElement.nodeName);
Copier après la connexion

Démo en direct :

Pour démontrer la fonctionnalité de cette solution, une démo en direct est fourni ci-dessous :

var parseXml;

if (typeof window.DOMParser != "undefined") {
    parseXml = function(xmlStr) {
        return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
    };
} else if (typeof window.ActiveXObject != "undefined" &amp;&amp;
       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("<foo>Stuff</foo>");
document.body.innerHTML = "Root element: " + xml.documentElement.nodeName;
Copier après la connexion

Cet extrait de code analyse la chaîne XML et affiche le nom de l'élément racine dans le document corps.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal