Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Allgemeines (OffTopic) » Xercesc

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.08.2004, 22:48 Uhr
(un)wissender
Niveauwart


Hallo, kennt einer von euch eine gute Seite, wo anhand von Beispielen erklärt ist, wie man mit der Xerces-Libary eine XML-Datei lesen, editieren und zurückschreiben kann?
Ich blicke da echt nicht ganz durch...
--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 19.08.2004 um 22:48 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.08.2004, 09:03 Uhr
virtual
Sexiest Bit alive
(Operator)


Guck doch mal unter xml.apache.org, da kommt xerces her, die haben IMHO auch Samples.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.08.2004, 09:35 Uhr
(un)wissender
Niveauwart


Hm, ich weiß, allerdings hatte ich mir es etwas ausführlicher gewünscht.
Werde wohl nicht drum rumkommen, um das alte trial-and-error-Prinzip.

Trotzdem danke.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.08.2004, 12:23 Uhr
(un)wissender
Niveauwart


Vor allem ist mir der Zusammenhang zwischen sax, sax2 und dom nicht ganz klar, mit sax/sax2/dom kann ich xml-Dateien lesen (funzt), aber nur mit dom ändern/schreiben?!
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.08.2004, 12:40 Uhr
virtual
Sexiest Bit alive
(Operator)


Ja, mal eine kleine EInführung:
DOM Steht für "Document Object Model" und dient dazu ein XML document im Speicher zu halten. Vereinfacht gesprochen ist die Sicht von DOM auf die XML datei, daß die gesamte Datei ein Baum ist, wobei ein Knoten in diesem Baum durch die Klasse Node representiert wird. je nach Knotenart (Element, Text, Attribute, ...) gibt es spezialisierungen von der Node klasse.
Generell funktioniert das ganze so, daß man sich das Document einliest, dann kann man von dem Document die DocumentRootNode holen und damit durch den gesamten Baum iterieren.
Der Vorteil von DOM liegt gewiss darin, daß man jederzeit das gesamte Dokument im Speicher hat (was natürlich ein Nachteil ist, wenn die XML Datei recht/zu groß ist), und die DTD validieren kann.

Im gegensatz dazu bedeutet SAX "Simply API for XML", in der Version 1 (SAX) und Version 2 (SAX2). Generell solltest Du für neue Applicationen eher SAX2 verwenden, welches mehr Funktionalität bietet (die Interfaces in beiden implementation sind nicht kompatibel, es gibt aber Mapping Klassen,jedenfalls in Java).
Die prinzipielle Idee bei SAX ist es, daß der ganze XML kram durch einen Parser gejagt wird, der dann "Events" erzeugt. Ein "Event kann "Jetzt beginnt ein Element Tag", oder "Jetzt kommt wichtiger Text", oder "Jetzt endet ein Element" usw sein. Diese Events werden an Handler geschickt, Deine Aufgabe als Programmierer besteht darin einen solchen Sinnvollen handler zu schreiben. zB Kann man einen Handler schreiben, der die XML Datei in ein DOM - Node Baum umsetzt, man kann auch einen schreiben, der aus einem DOM Baum eine XML datei schreibt
Der Vorteil von SAX ist sicherlich, daß man unbegrenzt große Dateien bearbeiten kann. Die nachteile liegen darin, daß du die DTD nicht validieren kannst und daß Du in Deinem handler irgendwie vermerken mußt, wo Du dich im Document befindest.

Es hängt massiv von Deiner Anwendung ab, welche Vorgehensweise (DOM oder SAX) zu empfehlen ist. Generell baut zwar DOM auf SAX auf, dh DOM bedient sich in der Regel SAX um Document zu lesen/schreiben, allerdings heißt das nicht, daß DOM das HighEnd API ist, welches man unbedingt nutzen sollte.
So sachen wie ConfigDateien in XML fakel ich oft über DOM ab; dagegen benutze ich SAX ganz gerne für solche Sachen wie Im/Export von Daten von einer Application zu einer anderen.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.08.2004, 14:41 Uhr
(un)wissender
Niveauwart


Danke, ist ein bisschen klarer geworden. Ich habe auch so einen sax2Handler mal implementiert und es läuft.
Wenn ich bspw. nur ein Element/Attribut in meiner eingelesenen Datei ändern will, sollte/muss ich sie dann ganz durchparsen lassen und bei jedem Aufruf meines Handler das DOM-Objekt einfügen und dann, wenn das zu ändernde kommt, eben das geänderte einfügen, oder gibt es einen einfacheren Weg?
Immerhin muss so immer das ganze Dokument für eine Änderung geparst werde und ein DOM-Baum muss aufgebaut werden.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.09.2005, 21:58 Uhr
~gast
Gast


hi, ich verwende den xerces-dom-parser (c++). kann ich damit ein file validieren? irgendwie will das net klappen.....mit welchen funktionen muss ich dem parser das beibringen??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
06.09.2005, 19:02 Uhr
KaraHead



Für Java gibt es da ein nettes Projekt: dom4j
Die Handhabung von dom4j find ich echt einfach und intuitiv.
Außerdem verwendet dom4j selbst sax/dom/xpath...

Naja ist halt nur für Leute, die sich nicht die Mühe machen wollen alles neu zu implementieren.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Allgemeines (OffTopic) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: