2

我需要根据表的内容删除某些表。我解析了HTML::Tree用于构建 HTML 树的 HTML。

我曾经replace_with_content删除表格,但这只会删除表格标签并留下表格的内容。

请注意,表格是嵌套的。

my $content = get($url);

my $tree = HTML::Tree->new();
$tree->parse($content);

my (@table_tags) = $tree->look_down( '_tag' , 'table' );
my $string = $table_tags[0]->as_HTML;

my $tree2 = HTML::Tree->new();
$tree2->parse($string);

my (@table_tags2) = $tree2->look_down( '_tag' , 'table' );
$table_tags2[3]->replace_with_content();

使用delete而不是replace_with_content呢?

4

2 回答 2

4

使用delete而不是replace_with_content呢?

于 2012-08-03T15:47:48.753 回答
1

要删除您想要的表格

$table->delete;

我不确定您是否在选择要删除的表时遇到问题,但您如何操作取决于标准是什么。中的方法HTML::Element将允许您导航树并测试它的部分,或者您可以在调用中添加条件look_down

于 2012-08-03T15:49:48.890 回答