Expat und Content

Expat und Content

am 13.07.2006 16:41:40 von office.mistelbacher

Hallo!
Ich habe mich jetzt von Perl mit XML::Simple langsam zu Expat "bewegt".
Was mir noch Probleme bereitet ist das Auslesen des Contents und versuche
mich dabei mit "XML_SetCharacterDataHandler".
Zwischen 2 Tags wird dieser Handler aber 3x aufgerufen.
Wir erreiche ich hier eine Eindeutigkeit bzw wer kann mir ein Beispiel oder
einen Tip geben?

Vielen Dank
Markus

Re: Expat und Content

am 13.07.2006 23:20:41 von Frank Seitz

Markus M. wrote:

> Ich habe mich jetzt von Perl mit XML::Simple langsam zu Expat "bewegt".
> Was mir noch Probleme bereitet ist das Auslesen des Contents und versuche
> mich dabei mit "XML_SetCharacterDataHandler".
> Zwischen 2 Tags wird dieser Handler aber 3x aufgerufen.
> Wir erreiche ich hier eine Eindeutigkeit bzw wer kann mir ein Beispiel oder
> einen Tip geben?

Whitespace vor bzw. nach Subtags?
Im Prinzip musst Du die Fragmente aus den einzelnen Aufrufen
konkatenieren um den Gesamtinhalt zu bekommen. Wenn Fragmente dabei
sind, die Du nicht brauchst, musst Du die selber wegoptimieren.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Re: Expat und Content

am 14.07.2006 10:43:28 von Daniel Fischer

Markus M.!

> Ich habe mich jetzt von Perl mit XML::Simple langsam zu Expat "bewegt".
> Was mir noch Probleme bereitet ist das Auslesen des Contents und
> versuche mich dabei mit "XML_SetCharacterDataHandler". Zwischen 2 Tags
> wird dieser Handler aber 3x aufgerufen.

Expat ist besser geeignet für Situationen, in denen Du den Inhalt nicht
dringend in einem Stück brauchst. Wenn Du mit dem Dokument im Speicher
arbeiten willst, ist ein DOM-Ansatz die bessere Wahl. Mit Expat musst Du
da im Prinzip das machen, was ein DOM-Parser auch macht, nämlich einen
Baum zusammen basteln. Vereinfachen lässt sich das nur in Spezialfällen,
z.B. wenn die Schachtelung keine Rolle spielt.


Gruß
Daniel

Re: Expat und Content

am 25.07.2006 08:26:21 von Slaven Rezic

Daniel Fischer writes:

> Markus M.!
>
> > Ich habe mich jetzt von Perl mit XML::Simple langsam zu Expat "bewegt".
> > Was mir noch Probleme bereitet ist das Auslesen des Contents und
> > versuche mich dabei mit "XML_SetCharacterDataHandler". Zwischen 2 Tags
> > wird dieser Handler aber 3x aufgerufen.
>
> Expat ist besser geeignet für Situationen, in denen Du den Inhalt nicht
> dringend in einem Stück brauchst. Wenn Du mit dem Dokument im Speicher
> arbeiten willst, ist ein DOM-Ansatz die bessere Wahl. Mit Expat musst Du
> da im Prinzip das machen, was ein DOM-Parser auch macht, nämlich einen
> Baum zusammen basteln. Vereinfachen lässt sich das nur in Spezialfällen,
> z.B. wenn die Schachtelung keine Rolle spielt.
>

Wenn du dir das Posting von Markus M. vom 12. Juli anschaust, wirst du
sehen, dass er eher auf Effizienz als auf Komfort aus ist. Insofern
ist für ihn ein Event/SAX-basierter Ansatz besser geeignet als ein
Ansatz, der die gesamte XML-Datei im Speicher hält.

Gruß,
Slaven

--
Slaven Rezic - slaven rezic de

tktimex - time recording tool
http://sourceforge.net/projects/ptktools/