Я использую Perl и XML::Twig. Я внес некоторые изменения в файл XML (изменение значений тегов). Но я не могу записать его в том же файле XML. Если я использую parsefile_inplace()
, весь XML-файл становится пустым. Пожалуйста, найдите код ниже.Как я могу изменить XML-файл на месте с помощью Perl XML :: Twig?
use strict;
use warnings;
use XML::Twig;
my $twig= XML::Twig->new(
pretty_print => 'indented',
twig_handlers => {
jdk => sub{
$_->set_text('JDK 1.8.0_40')
},
},
);
$twig->parsefile_inplace('nightly.xml', 'bak.*');
$twig->flush;
Часть файла XML:
<jdk>JDK 1.7.0_40</jdk>
Если я использую флеш команду дает желаемый результат на ЦМД.
Если я использую команду parsefile_inplace
, она опорожняет nightly.xml
.
Если я просто использую parsefile
, исходный файл будет сохранен без изменения значения, которое я хочу изменить.
Мое требование, чтобы изменить значение и сохранить его в том же файле
Ах да, я не использовал оператор печати. Это сработало. Спасибо @Sinan Unur – sai