我正在使用Perl和XML::Twig。我在XML文件中做了一些更改(更改标记的值)。但我无法在同一个XML文件中编写它。如果我使用parsefile_inplace()
,则整个XML文件都为空。请找到以下代码。
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>
如果我使用flush命令,它会在cmd上提供所需的输出。
如果我使用parsefile_inplace
命令,则会清空nightly.xml
。
如果我只使用parsefile
原始文件保持不变,而不更改我想要更改的值。
我的要求是编辑值并将其保存在同一个文件中