Спасибо, этому форуму я смог успешно написать perl-скрипт для редактирования xml-файла. Но я хотел бы напечатать что-то на экране. Я хотел бы отобразить содержимое xml до и после изменения. Пожалуйста, помогите мне.Как печатать имена элементов с помощью XML :: Twig
Входной XML
<config>
<match_name>Match_20111010</match_name>
<teamA>Alpha_2353523</teamA>
<teamB>Beta_23523523</teamB>
<result>Win</result>
</config>
КОД
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
my $xml = 'config.xml';
my $twig = XML::Twig->new (
twig_roots => {match => \&edittag,
teamA => \&edittag,
teamB => \&edittag,
},
twig_print_outside_roots => 1,
);
$twig->parsefile_inplace($xml);
sub edittag {
my ($twig, $tag) = @_;
my $text = $tag->text();
$text =~ s/\d+/REPLACED/;
$tag->set_text ($text);
$twig->flush;
}
Какое содержимое вы хотите распечатать, весь файл 'xml'? Я не понимаю, каков ваш ожидаемый результат и каким образом ваш текущий код не работает. – Birei
У меня нет проблем с кодом, я просто хочу напечатать на стандартном экране вывода имя тега xml со значениями в нем до и после изменения. что-то вроде этого. Не знаете, как печатать только тег-имена файла xml с помощью модуля Twig. – chidori
Используйте 'print' внутри подкаталога' edittag'. – toolic