Я использую XML :: Simple для анализа XML-файла, который я затем хочу использовать для записи выходного файла в очень специфическом формате. Таким образом, порядок вывода важен.
Как я понимаю, когда XML преобразуется в хеш-адрес perl, порядок теряется (потому что у хэшей perl нет порядка) Но как насчет того, когда массив используется XML :: Simple.
Например:
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<price>10.0</price>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<price>9.99</price>
</cd>
<cd>
<title>Hello</title>
<artist>Say Hello</artist>
<price>0001</price>
</cd>
</catalog>
дает нам структуру данных, напоминающую:
$VAR1 = {
'cd' => [
{
'artist' => 'Bonnie Tyler',
'price' => '10.0',
'title' => 'Hide your heart'
},
{
'artist' => 'Dolly Parton',
'price' => '9.99',
'title' => 'Greatest Hits'
},
{
'artist' => 'Say Hello',
'price' => '0001',
'title' => 'Hello'
}
]
};
3 структуры 'cd' вставляются в массив, поэтому их порядок всегда будет таким же, как во входном файле?