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/