Maison > interface Web > js tutoriel > Comment puis-je analyser des chaînes XML dynamiques en JavaScript à l'aide de méthodes compatibles avec les navigateurs modernes et existants ?

Comment puis-je analyser des chaînes XML dynamiques en JavaScript à l'aide de méthodes compatibles avec les navigateurs modernes et existants ?

DDD
Libérer: 2024-12-16 11:32:12
original
957 Les gens l'ont consulté

How Can I Parse Dynamic XML Strings in JavaScript Using Modern and Legacy Browser Compatible Methods?

Analyse XML de chaînes dynamiques en JavaScript

Problème : Travailler avec des données XML implique souvent de les récupérer sous forme de chaîne à partir de sources dynamiques. Comment pouvons-nous analyser et manipuler efficacement ces données XML à l'aide d'un code JavaScript compatible avec les navigateurs modernes ?

Solution :

Méthode DOMParser

Pour les navigateurs prenant en charge l'interface DOMParser, la fonction suivante fournit un mécanisme d'analyse XML simple :

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

Exemple utilisation :

var xml = parseXml('<foo>Stuff</foo>');
console.log(xml.documentElement.nodeName); // Outputs: "foo"
Copier après la connexion

ActiveXObject (pour la prise en charge héritée d'IE)

Dans les cas où DOMParser n'est pas disponible, comme dans les versions d'Internet Explorer jusqu'à 8, l'extrait de code suivant fournit une solution de secours en utilisant ActiveXObject :

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

Compatibilité jQuery

jQuery versions 1.5 et incluez plus tard une méthode $.parseXML() pratique qui offre des fonctionnalités similaires :

var xml = $.parseXML('<foo>Stuff</foo>');
console.log(xml.documentElement.nodeName); // Outputs: "foo"
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal