2010-12-15 3 views
0

XML :: Simple output을 사용할 때 Perl로 html 태그를 제거하는 방법을 알고있는 사람이 있습니까?Perl에서 ID를 사용하여 html 태그를 제거하는 방법은 무엇입니까?

여기에있는 코드는 있습니다.

#!/usr/bin/perl 
use XML::Simple; 
$xml = new XML::Simple; 
$data = $xml->XMLin('library.xml', ForceArray => 1, KeyAttr => {},); 

foreach my $library (@{$data->{library}}) 
{ 
    foreach my $shelf (@{$library->{shelf}}) 
    { 
    print $xml->XMLout($shelf, RootName => "book", NoSort => 1); 
    } 
} 

이 코드는 다음과 같이 출력됩니다.

<library> 
    <book shelf="12345">Book Title Here</book> 
</library> 

어떻게 태그를 제거하고 제목 만 유지하면됩니까? 아마도 더 좋은 방법이 있습니다. 알려주세요.

도움이 될 것입니다 :-) 감사합니다.

+1

주제와 첫 번째 문장은 코드와 예제 데이터와 부합하지 않습니다. 이 문제를 해결하십시오, 당신이 실제로 원하는 것이 약간 명확하지 않습니다. – daxim

+0

1)이 XML 또는 HTML 태그가 있습니까? 2) XML에 명확한 구조가 있습니까? – DVK

+0

또한 제안 된 출력에 대한 샘플 입력을 제공하십시오. – DVK

답변

1

XML :: Simple 내에서 아무것도 찾지 못하면 그냥 태그를 제거하지 않는 것이 좋을까요?

local $_ = $xml->XMLout($shelf, RootName => "book", NoSort => 1); 
    s#<.+?>#\n#sg; 
    s#\s*\n+\s*#\n#sg; 
    print; 
관련 문제