2010-12-15 61 views
0

在這裏有沒有人知道如何在使用XML :: Simple輸出時剝離Perl標籤?如何在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 2010-12-15 11:27:14

+0

1)這是XML還是HTML標籤? 2)XML是否有明確的結構? – DVK 2010-12-15 13:36:26

+0

另外,請提供該建議輸出的示例輸入。 – DVK 2010-12-15 13:37:22

回答

1

如果您在XML :: Simple中找不到任何內容以實現您的目的,爲什麼不直接刪除標籤?

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