Heim > Web-Frontend > js-Tutorial > Wie erreicht man beim Parsen von XML-Dateien in JavaScript eine browserübergreifende Kompatibilität?

Wie erreicht man beim Parsen von XML-Dateien in JavaScript eine browserübergreifende Kompatibilität?

Susan Sarandon
Freigeben: 2024-11-14 10:47:02
Original
896 Leute haben es durchsucht

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

Browserübergreifendes XML-Parsing in JavaScript

In der Webentwicklung ist es oft notwendig, XML-Dateien in JavaScript zu parsen, unabhängig vom Browser oder Plattform im Einsatz. Allerdings kann es schwierig sein, eine browserübergreifende Kompatibilität zu erreichen.

Lösung:

Der unten bereitgestellte Code stellt eine Lösung bereit, die in allen gängigen Browsern funktioniert, einschließlich 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");
}
Nach dem Login kopieren

Beispielverwendung:

Zur Verwendung des Lösung: Rufen Sie einfach die parseXml-Funktion mit der zu analysierenden XML-Zeichenfolge auf, wie unten gezeigt:

var xml = parseXml("<foo>Stuff</foo>");
Nach dem Login kopieren

Das resultierende XML-Objekt kann dann verwendet werden, um programmgesteuert auf das XML-Dokument zuzugreifen. Der folgende Codeausschnitt ruft beispielsweise den Namen des Stammelements ab:

alert(xml.documentElement.nodeName);
Nach dem Login kopieren

Live-Demo:

Um die Funktionalität dieser Lösung zu demonstrieren, eine Live-Demo wird unten bereitgestellt:

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;
Nach dem Login kopieren

Dieses Code-Snippet analysiert die XML-Zeichenfolge und zeigt den Namen des Stammelements im Dokument an Körper.

Das obige ist der detaillierte Inhalt vonWie erreicht man beim Parsen von XML-Dateien in JavaScript eine browserübergreifende Kompatibilität?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage