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