Thread XML::LibXML + HTML::TreeBuilder sollen Parsen abbrechen bei defektem HTML
(19 answers)
Opened by bikus at 2010-05-04 16:21
@topeg
Wie schlecht dass XML sein kann, dass LibXML meckert, zeigte ich ja. Aber dieses Problem lässt den Parser auch mit recovr haken: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #!/usr/bin/env perl use warnings; use strict; use HTML::TreeBuilder; use XML::LibXML; eval { print "Parsing with XML::LibXML\n"; my $parser = XML::LibXML->new( recover => 2 ); my $doc = $parser->parse_html_string(<<'EOT'); <html> <head> <title> Das < ist ein Groesserzeichen</title> <A> EOT print $doc->toString; }; print $@ if ($@); eval{ print "\n\nParsing with HTML::TreeBuilder\n"; my $tree = HTML::TreeBuilder->new; # empty tree $tree->parse(<<'EOT'); <html> <head> <title> Das < ist ein Groesserzeichen</title> <A> EOT $tree->dump; }; print $@ @bikus Wenn du wissen willst, wann welcher Parser stolpert, verwende bitte einen HTML-Fuzzer zum Generieren von kaputtem XML/HTML. Last edited: 2010-05-04 19:30:08 +0200 (CEST) |