Zugriff auf XML-File
Thomas
- javascript
Gibt es eine Möglichkeit, mit JavaScript auf XML-Dateien zuzugreifen??
Hintergrund:
Ich verwende öfters .js Bibliotheken, die Objektdaten enthalten. Diese .js Files generiere in der Regel aus einer kleinen Datenbank-Applikation.
Z.B.: Datenbank mit Produktinfos -> js.File mit eben diesen Produktdaten -> HTML Files und JavaScripts zur Aufbereitung dieser Daten aus den JS-Objekten.
Nun überlege ich, ob nicht XML eine Vereinfachung bringen könnte. Wenn es möglich ist, mit JavaScript ein XML-File zu iterieren und auf Knoten gezielt zuzugreifen, wäre das für manche Anwendungsfälle eine ideale Lösung.
Wohlgemerkt: Mir geht es um den Inhalt und Weiterverarbeitung der XML-Knoten. Eine Visualisierung des gesamten XML-Files mit CSS wäre zuwenig.
Hoffe, dass ich mich verständlich ausgedrückt habe und hoffe auf zielführende Antworten aus der Forumsgemeinde!
Danke!
Thomas
Gibt es eine Möglichkeit, mit JavaScript auf XML-Dateien zuzugreifen??
ja. sogar ziemlich viele. kommt darauf an was du machen willst.
für NS6 geht das so:
http://forum.de.selfhtml.org/archiv/2001/11/161/#m1067
für IE host du dir am besten die beispile vom wrox
http://www.wrox.com/Books/Book_down.asp?sub_section=1&isbn=1861001576&subject=XML&subject_id=30
grüße
thomas
Danke für die Antwort! Werde mir die Codebeispiele zu Gemüte führen.
Frustrierend die Tatsache, dass man wiedermal verschiedene Wege gehen muss, um (wenigstens) die zwei wichtigsten Browser zu unterstützen...
Und beim NN gar erst ab der Version 6. :-(
Gibt es eine Möglichkeit, mit JavaScript auf XML-Dateien zuzugreifen??
ja. sogar ziemlich viele. kommt darauf an was du machen willst.
für NS6 geht das so:
http://forum.de.selfhtml.org/archiv/2001/11/161/#m1067
für IE host du dir am besten die beispile vom wrox
http://www.wrox.com/Books/Book_down.asp?sub_section=1&isbn=1861001576&subject=XML&subject_id=30
grüße
thomas
Hi
Danke für die Antwort! Werde mir die Codebeispiele zu Gemüte führen.
Frustrierend die Tatsache, dass man wiedermal verschiedene Wege gehen muss, um (wenigstens) die zwei wichtigsten Browser zu unterstützen...
Und beim NN gar erst ab der Version 6. :-(
Wie komplex sind denn deine Daten? Und muss es unbedingt XML sein?
Wenn du alles in JS-Arrays/Objekte ablegst kannst du 1a darauf zugreifen,
ohne ständig parsen zu müssen. Schau dir mal die JS-Suche fuer Selfhtml 8 an.
Oder
Du legst deine XML-daten als String in eine JS-Variable und parst die
Daten mit RegExp aus! Dann klapt es auch mit dem NNachbarn ;)
Tschau
Rolf
Wie komplex sind denn deine Daten? Und muss es unbedingt XML sein?
Wenn du alles in JS-Arrays/Objekte ablegst kannst du 1a darauf zugreifen,
ohne ständig parsen zu müssen.
Nicht wirklich sehr komplex.
Relationale Datensätze mit bis zu 5 Hierarchie-Stufen.
Insgesamt (über alle Tables) einige Hundert Datensätze.
Nein, es muss nicht unbedingt XML sein. Derzeit werden die Daten eh in JS-Objekten abgelegt. Und darum kümmert sich eine Exportroutine, die die Daten aus einer kleinen Access-DB in das JS-File schaufelt.
Die Idee ist nun, statt der Access-mdb gleich ein XML-File als Datenquelle zu verwenden, welches ohne jegliche Konvertierung auch gleich als Datenursprung für die HTML-Seiten dienen kann.
Spricht außer den höheren Browseranforderungen (>= IE 5, >= NN 6) sonst etwas gegen dieses Konzept??
Hallo,
Spricht außer den höheren Browseranforderungen (>= IE 5, >= NN 6) sonst etwas gegen dieses Konzept??
ja. aber nur in abhängigkeit dessen was du genau machen willst mit deiner xml.
sollstes du xsl auch anwenden wollen. brauchst du serverseitege verarbeitung, da es einfach zu viele IE versionen mit zu vielen MSXML versionen verbreitet sind.
grüße
thomas
Hi Thomas
Wie komplex sind denn deine Daten? Und muss es unbedingt XML sein?
Wenn du alles in JS-Arrays/Objekte ablegst kannst du 1a darauf zugreifen,
ohne ständig parsen zu müssen.
Nicht wirklich sehr komplex.
Relationale Datensätze mit bis zu 5 Hierarchie-Stufen.
Insgesamt (über alle Tables) einige Hundert Datensätze.
Hmm das ist schon zu happig, ich hab mal einen rudimentaeren XML-Parser
in JS gemacht ueber 2 Hierarchiestufen geschrieben, das geht noch aber bei wuerde
mein IE5 sehr langsam (NN ist viel schneller!) werden bis alles in ne
Arrayhierarchie uebertragen ist.
Wenn du nur lesezugriffe auf einzeldaten brauchst kannste auch RegExp
dynamisch bauen, also sowas wie
Ergebnis=XML.match(/<tag1>.*<tag2>.*<tag3>([^<]*)</tag3>.*</tag2>.*</tag3>/)
XML waer dabei ein String der die Daten enthaelt!
Probleme hier waeren dann greedy * oder verschachtelte tags gleichen Namens,
dh. es kommt sehr auf den Aufbau deiner Daten an. Attribute und DTDs fallen
dabei auch untermn Tisch!
Hab auch mal nen hochkomplizierte XML-Parser im Netz gesehen der in einer RegExp
realisiert war, mit dem Hinweis dass er in JS, Java, Perl, etc lauffaehig waere.
Deren onlinebeispiel lief dann aber gerade nicht mit JS!
Mein Rat: Konvertier lieber Serverseitig die XML-Daten in JS-Arrays, und wenn
genuegen Browser Clientseitig damit umgehen koennen, ueberleg dir dann
ob du direkt das XML-File schickst!
Viele GrueBe
Rolf
Hi Thomas
Schau mal hier
http://www.google.de/search?hl=de&q=XML+Parser+Javascript&meta=
Interesant sind z.B.
http://www.jeremie.com/Dev/XML/
http://www.ilrt.bris.ac.uk/discovery/rdf-dev/rudolf/js-rdf/
http://www.cs.sfu.ca/~cameron/REX.html
http://xmljs.sourceforge.net/
Viele Grueße
Rolf