Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
+49 (0) 351/850 33-0

XML String browserunabhängig mit Javascript parsen

Manchmal hat man ein Problem, und wenn man es dann gelöst hat, ist die Lösung so einfach, dass man es fast nicht glauben mag. So ging es mir mit folgender Aufgabe:

Gegeben ist ein String, der ein XML Document repräsentiert:

<books>
<book author=“Meier“>Lexikon der Meierei</book>
<book author=“Muster“>Patterns in der Schneiderstube</book>
</books>

Diesen String möchte man (möglichst browserunabhängig, wenigstens soll es aber für Internet Explorer und Firefox funktionieren) per Javascript in ein XML DOM Object parsen, um dieses dann, wie auch immer, weiter zu verwenden. Und das geht ganz einfach so:

function MyParseXml(xmlString)
{
var xmlDoc;
//for IE
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject(„Microsoft.XMLDOM“);
xmlDoc.async = „false“;
xmlDoc.loadXML(xmlString);
}
//for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
var parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString,“text/xml“);
}
var x=xmlDoc.getElementsByTagName(‚book‘); //oder wasauchimmer
}

Fertig! 🙂

Browserunabhängig hört sich gut an. Aber wenn über die Verwendung von ActiveX alle Linux-Systeme, alle Apple-Systeme und alle Android-Systeme ohnehin ausgeschlossen werden, kann ich auch gleich für den IE entwickeln. Wo soll da hier der Mehrwert sein?

Avatar Dorrit Riemenschneider

Korrekt, die Verwendung von ActiveX schränkt die Verfügbarkeit auf Windows-Systeme ein – allerdings gibt es auch dort eine recht große Browser-Vielfalt – ich selbst verwende z.B. den IE eher selten. Man sollte aber auf jeden Fall auch mit betrachten, dass dieser Beitrag mehr als 6 Jahre alt ist. Mobile Endgeräte unter Apple und Android waren zu dieser Zeit noch nicht so präsent, daher auch nicht im Fokus.

Kommentar hinterlassen


Pin It on Pinterest