Есть 2 способа сделать это:
- Плохой, но быстрый способ: используйте регулярное выражение
$outContent = $contentOfOldXmlFile;
$outContent =~ s#^.*<xpath>((.|\n)*)</xpath>$#$1#;
- Правильный путь: используйте
XML::DOM
библиотека
use XML::DOM;
use XML::XQL;
use XML::XQL::DOM;
eval {
my $xml=new XML::DOM::Parser->parsefile($yourFilename);
my $outContent = "";
for($xml->xql(qq(//resume))) {
$outContent .= $_->toString();
}
$xml->dispose();
};
print "ERROR:$@\n" if $@;
А затем у вас есть новый контент в $outContent
, который вы можете распечатать или записать в нужный файл.
Желательно использовать XML::DOM
API для получения необходимого контента (с $node->toString()
) вместо объединения строк.