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

Comment analyser des chaînes XML variables en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-10 07:03:12743parcourir

How to Parse Variable XML Strings in JavaScript?

Analyse XML d'une chaîne variable en JavaScript

L'analyse de chaînes XML bien formées en JavaScript est cruciale pour le traitement des données dans les applications Web. Explorons comment y parvenir à l'aide du code JavaScript.

Dans les navigateurs modernes, une approche simple consiste à utiliser la fenêtre.DOMParser :

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

Cette fonction renverra un document XML qui peut être manipulé à l'aide des méthodes DOM.

Pour les navigateurs plus anciens (y compris IE<=8), la solution de contournement suivante utilisant ActiveXObject peut être utilisé :

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

Une fois qu'un document XML est acquis, des techniques de navigation DOM telles que childNodes et getElementsByTagName() peuvent être utilisées pour accéder aux nœuds souhaités.

Par exemple, l'utilisation suivante :

var xml = parseXml("<foo>Stuff</foo>");
alert(xml.documentElement.nodeName);</p>
<p>...alertera le nom du nœud "foo".</p>
<p>jQuery fournit également un méthode parseXML() qui peut être utilisée pour l'analyse XML.</p>
<pre class="brush:php;toolbar:false">var xml = $.parseXML("<bar>Content</bar>");
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