내 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
수정자가 중요합니다. Using regular expressions in Perl은 perlretut
으로, 글로벌 일치 부분이 있습니다.
'redo'제어 명령문은 현재 명령문 블록의 실행을 재시작합니다. 이 파일을 사용하여 다음과 같이 작성할 수 있습니다.
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