in reply to Re: How do I reverse an extracted HTML table?
in thread How do I reverse an extracted HTML table?
#!/usr/bin/perl -- use strict; use warnings; use CGI qw/ *table *Tr Td /; use HTML::TableContentParser; my $html = <<'HTML'; <table> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>ro</td><td>sham</td><td>bo</td></tr> <tr><td><ro></td><td><sham></td><td><bo></td></tr> </table> HTML #~ my $p = HTML::TableContentParser->new(); #~ my $tables = $p->parse($html); #~ use DDS; die Dump($tables); my $tables = [ { rows => [ { cells => [ { data => 1 }, { data => 2 }, { data => 3 } ] }, { cells => [ { data => 'ro' }, { data => 'sham' }, { data => 'bo' } ] }, { cells => [ { data => '<ro>' }, { data => '<sham>' }, { data => '<bo>' } ] } ] } ]; for my $t (@$tables) { print start_table(); for my $r ( @{ $t->{rows} } ) { print start_Tr(); for my $c ( @{ $r->{cells} } ) { print Td( $c->{data} ); } print end_Tr(); } print end_table(); } __END__ $ perl html.tablecontentparser.to.html.pl |xml_pp <table> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> <tr> <td>ro</td> <td>sham</td> <td>bo</td> </tr> <tr> <td><ro></td> <td><sham></td> <td><bo></td> </tr> </table>
Instead of HTML::TableContentParser , I would standardize on HTML::Tree and xpath, see
|
---|