2

テーブルの内容に基づいて特定のテーブルを削除する必要があります。HTML::TreeHTMLツリーを構築するためにを使用して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();

列を繰り返してマップできます。これにより、Excelの列名が接続内の同じ名前にマップされます(つまり、Excel column_1 = sql column_1)

    SqlBulkCopy sqlBulk = new SqlBulkCopy(con);
       //Define column mappings 

    for (int i = 0; i < dReader.FieldCount; i++)
    {
        sqlBulk.ColumnMappings.Add(dReader.GetName(i), dReader.GetName(i));
     }
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 に答える