perl - XML::Twig and save order of attributes -



perl - XML::Twig and save order of attributes -

i editing xml files using xml::twig below code :

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;

the problem code not save xml attributes in same order in edited file.

for illustration line input xml :

<device overwrite="true" string="true" block="false">

is replaced line in output xml :

<device block="false" string="true" overwrite="true">

how can save attributes in same order original file if compare 2 files revision system, see changes made?

are sure order block, string, overwrite? bit surprising.

to reply question: seek installing tie::ixhash , using keep_atts-order alternative when create twig. should it.

i not sure why need though: order shouldn't matter (proper) xml processor. if need version control, have @ cvs value pretty_print option, designed play nice line-oriented tools.

xml perl xml-twig

Comments

Popular posts from this blog

Delphi change the assembly code of a running process -

json - Hibernate and Jackson (java.lang.IllegalStateException: Cannot call sendError() after the response has been committed) -

C++ 11 "class" keyword -