Maison > interface Web > js tutoriel > Comment puis-je analyser des chaînes XML à partir de variables en JavaScript sur différents navigateurs ?

Comment puis-je analyser des chaînes XML à partir de variables en JavaScript sur différents navigateurs ?

Susan Sarandon
Libérer: 2024-12-12 18:19:13
original
1082 Les gens l'ont consulté

How Can I Parse XML Strings from Variables in JavaScript Across Different Browsers?

Analyse XML pour les chaînes variables en JavaScript

L'analyse XML à partir d'une chaîne variable présente un défi en JavaScript. Cet article répondra à ce besoin et fournira des solutions compatibles avec les navigateurs.

Solution

Dans les navigateurs modernes, l'approche recommandée consiste à utiliser le DOMParser()interface. L'extrait suivant analyse efficacement les chaînes XML :

function parseXml(xmlStr) {
   return new window.DOMParser().parseFromString(xmlStr, "text/xml");
}
Copier après la connexion

Cependant, pour les navigateurs qui ne prennent pas en charge DOMParser (par exemple, IE <= 8), une solution de secours exploitant ActiveXObject est fournie :

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

Une fois le document XML obtenu, vous pouvez le parcourir en utilisant les méthodes DOM standards tels que childNodes et getElementsByTagName().

Solution jQuery

jQuery, à partir de la version 1.5, fournit une solution pratique méthode parseXML() qui sert le même objectif que le code ci-dessus extraits :

var xml = $.parseXML("Stuff");
alert(xml.documentElement.nodeName);

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!

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