Problem: Bei der Arbeit mit XML-Daten müssen diese häufig als Zeichenfolge aus dynamischen Quellen abgerufen werden. Wie können wir diese XML-Daten mithilfe von JavaScript-Code, der mit modernen Browsern kompatibel ist, effektiv analysieren und bearbeiten?
Lösung:
Für Browser Die folgende Funktion unterstützt die DOMParser-Schnittstelle und bietet einen einfachen XML-Parsing-Mechanismus:
function parseXml(xmlStr) { return new window.DOMParser().parseFromString(xmlStr, "text/xml"); }
Beispiel Verwendung:
var xml = parseXml('<foo>Stuff</foo>'); console.log(xml.documentElement.nodeName); // Outputs: "foo"
In Fällen, in denen DOMParser nicht verfügbar ist, z. B. in Internet Explorer-Versionen bis 8, bietet das folgende Codefragment einen Fallback mit 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"); }
jQuery-Versionen 1.5 und später eine praktische $.parseXML()-Methode einschließen, die eine ähnliche Funktionalität bietet:
var xml = $.parseXML('<foo>Stuff</foo>'); console.log(xml.documentElement.nodeName); // Outputs: "foo"
Das obige ist der detaillierte Inhalt vonWie kann ich dynamische XML-Strings in JavaScript mithilfe moderner und älterer browserkompatibler Methoden analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!