Maison >interface Web >js tutoriel >Comment puis-je analyser des chaînes XML en JavaScript ?

Comment puis-je analyser des chaînes XML en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-23 05:56:34892parcourir

How Can I Parse XML Strings in JavaScript?

Analyse des chaînes XML en JavaScript

Défi :

Vous travaillez avec une chaîne variable contenant du XML valide, et vous devez l'analyser JavaScript.

Solution :

Utilisation du DOMParser (pris en charge par les principaux navigateurs) :

function parseXml(xmlStr) {
   return new window.DOMParser().parseFromString(xmlStr, "text/xml");
}

Pour IE 8 et plus ancien :

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");
}

Utilisation :

Pour analyser une chaîne XML, utilisez parseXml pour obtenir un objet Document. Ensuite, vous pouvez parcourir le DOM en utilisant des méthodes standard telles que childNodes et getElementsByTagName().

Exemple :

var xml = parseXml("<foo>Stuff</foo>");
alert(xml.documentElement.nodeName);

Utilisation de jQuery (pour jQuery 1.5 et supérieur) :

var xml = $.parseXML("<foo>Stuff</foo>");
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:
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