【发布时间】:2014-12-18 03:49:58
【问题描述】:
我正在使用XML::Twig 编辑一些 XML 文件,下面是代码:
my $twig = XML::Twig->new(
pretty_print => 'indented',
twig_handlers => {
Vendor => sub {
$_->set_att( 'ID' => $_->{'att'}->{'att1'} );
$_->set_att( 'ID' => $_->{'att'}->{'att2'} );
$_->set_att( 'ID' => $_->{'att'}->{'att3'} );
$_->set_att( 'ID' => $_->{'att'}->{'att4'} );
},
},
);
$twig->parsefile('myfile');
$twig->flush;
问题是这段代码在编辑后的文件中并没有按相同的顺序保存xml属性。
例如输入 xml 中的这一行:
<DEVICE OVERWRITE="TRUE" STRING="TRUE" BLOCK="FALSE">
在输出 xml 中被这一行替换:
<DEVICE BLOCK="FALSE" STRING="TRUE" OVERWRITE="TRUE">
如何以与原始文件相同的顺序保存属性,以便在将两个文件与修订系统进行比较时,我只能看到我所做的更改?
【问题讨论】: