Я использую XML :: Simple для анализа XML-файла. Код приводится ниже с файлом XML,Как сохранить порядок значений в файле XML, когда я прочитал его с помощью XML :: Simple?
use Tie::IxHash;
tie %$data, "Tie::IxHash";
use XML::Simple;
use Data::Dumper;
$xml = new XML::Simple;
$data = $xml->XMLin("ship_order.xml");
print Dumper($data);
XML файл, (ship_order.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<shipment>
<shiptoaddress>
<name>Prasad</name>
<address>AnnaNagar</address>
</shiptoaddress>
<items>
<quantity>5</quantity>
<price>100</price>
</items>
<items>
<quantity>6</quantity>
<price>50</price>
</items>
<num_of_items>2</num_of_items>
</shipment>
выход не подходит для того, даже если я использую модуль Tie :: IxHash.
Мой выход:
$VAR1 = {
'num_of_items' => '2',
'shiptoaddress' => {
'name' => 'Prasad',
'address' => 'AnnaNagar'
},
'items' => [
{
'quantity' => '5',
'price' => '100'
},
{
'quantity' => '6',
'price' => '50'
}
]
};
см http://stackoverflow.com/questions/3650229/parsing-xml-file-in-perl-retain-sequence/3650297#3650297 –
Когда XML :: Simple не сделайте именно то, что вы хотите, не используйте XML :: Simple. То есть, когда вы используете модуль * :: Simple, чтобы попытаться сделать что-то, чего он не делает, это уже не просто. –