Thread XML::Parser::parsefile durch die Struktur ...: iterieren, aber wie ? (18 answers)
Opened by Matze at 2006-01-30 17:29

renee
 2006-01-31 23:58
#62467 #62467
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Also es gibt zwei verschiedene Arten von Parsern - die Tree-basierten und die Event-basierten. Die Tree-basierten Parser parsen die Datei auf einmal und bauen dann eine Baumartige Struktur auf, durch die man sich dann hindurchnavigieren kann. Das hat den Vorteil, dass man auf alle Elemente bequem zugreifen kann und "vor und zurück" springen kann.

Event-basierte Parser gehen Zeilenweise/Stückchenweise durch und werfen verschiedene "Events". Man muss sich selbst um die Behandlung dieser Events kümmern.

Betrachten wir mal folgendes Beispiel:
Code: (dl )
1
2
3
4
5
<foren>
<nr value="1">
http://board.perl-community.de
</nr>
</foren>


Bei Event-basierten Parsern gibt es Events für "Anfang des Dokuments" - wenn also noch gar nichts geparst ist.
Start des Tags ist ein weiteres Event, wenn der Parser z.B. auf <foren> trifft. Und einen End-Event gibt es, wenn der Parser auf das schliessende Tag stoesst.

Dafuer legt man dann bei CPAN:XML::Twig die start_tag_handlers (oder andere Handler) für die verschiedenen Tags an...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread XML::Parser::parsefile durch die Struktur ...: iterieren, aber wie ?