假設我的XML文件在一行中有多個<Timestamp>
標籤。我正在逐行閱讀文檔。如何計算每行中有多少個這些標籤?我想要這樣的東西:如何統計一個字符串(XML標籤)在一行中出現的次數?
foreach "<Timestamp>" in $line {
print "FOund";
}
任何想法?
假設我的XML文件在一行中有多個<Timestamp>
標籤。我正在逐行閱讀文檔。如何計算每行中有多少個這些標籤?我想要這樣的東西:如何統計一個字符串(XML標籤)在一行中出現的次數?
foreach "<Timestamp>" in $line {
print "FOund";
}
任何想法?
while ($line =~ /<Timestamp>/g) {
print "Found\n";
}
應該做的伎倆。那裏的/g
修飾符很重要。請參見perlretut
中的Using regular expressions in Perl,它具有全局匹配的一部分。
'重做'控制語句重新啓動當前語句塊的執行。你可以用它來寫這樣的東西:
foreach $line (<>)
{
$tag = $line =~ m/(<.*>)/;
push @tags, $tag;
if($tag) redo;
}
被警告,我沒有運行這個。
希望有所幫助。
這是XML,use
XML::Twig
:
my $twig = XML::Twig->new(twig_roots => { Timestamp => 1 });
$twig->parsefile($xml_file_path);
my $timestamp_count = (my @a = $twig->root->children('Timestamp'));
我們的XML庫讀取XML文件。 – reinierpost 2011-04-14 10:12:57