2010-09-16 22 views
1

我正在使用HTML :: TokeParser來解析HTML文件並獲取div標記中的數據。我的HTML如下:如何從Perl的HTML :: TokeParser中檢索嵌套div標籤的值?

<div class='t_and_h f_t' id='t_f_i'> 
    <div class='icon'> 
    <img alt="icon" src=""/> 
    </div> 
    <div class='t'> 
    12:31 PM 
    </div> 
    <div class='h'> 
    <a>Residue 4</a> 
    </div> 
    <div class='f_t'> 
    TRUE 
    </div> 
</div> 

我的代碼如下:

while ($tag = $stream->get_tag('div')) 
{ 
    if($tag->[1]{class} eq 't') 
    { 
     $time = $stream->get_trimmed_text('</div>'); 
     print "$time \n"; 
    } 
} 

但輸出中打印出所有的領域,即

12:31PM Residue 4 TRUE 

我在做什麼錯?

+0

向我們展示完整的程序,以便我們知道在該位代碼之前發生了什麼。 :) – 2010-09-23 07:44:18

回答

0

</div>外部結束標記。只需將其留在目前的流位置,即:

my $time = $stream->get_trimmed_text; 
# 12:31 PM