Я новичок в XML::Twig
. Я хочу изменить порядок атрибутов всех элементов <product>
, как показано ниже.Как изменить порядок атрибутов элемента XML с помощью Perl и XML :: Twig
Input.xml
<?xml version="1.0" encoding="utf-8"?>
<root>
<product markup="xml" type="books" id="book1">
<name>Analysis</name>
<prize>$203</prize>
<subject>Construct</subject>
</product>
<product markup="xml" type="books" id="book2">
<name>Analysis</name>
<prize>$203</prize>
<subject>Bio</subject>
</product>
</root>
Мне нужно как этот
<?xml version="1.0" encoding="utf-8"?>
<root>
<product id="book1" markup="xml" type="books">
<name>Analysis</name>
<prize>$203</prize>
<subject>Construct</subject>
</product>
<product id="book2" markup="xml" type="books">
<name>Analysis</name>
<prize>$203</prize>
<subject>Bio</subject>
</product>
</root>
Мой код:
use XML::Twig;
my $XML = XML::Twig->new(
twig_handlers => {
#'product' => sub {$_},
# (I don't know this process)
},
pretty_print => 'record',
output_encoding => 'utf-8',
keep_atts_order => 1,
);
$XML->parsefile("input.xml");
$XML->purge;
Как я могу изменить это?
Это кажется странной просьбой. Пожалуйста, не могли бы вы объяснить что-то, почему вы хотите это переупорядочение? В спецификации [XML 1.0] (http://www.w3.org/TR/REC-xml/) явно указано, что порядок атрибутов не имеет значения. – Borodin