我是XML::Twig
的新手。我想要更改所有<product>
元素的屬性順序,如下所示。如何使用Perl和XML更改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 2014-12-06 06:10:26