Problème XML Simple et balise "name"
Salut,
Pour info :
XML Simple est sympa mais il est "buggé" dans sa version 2.18...
http://search.cpan.org/~grantm/XML-S.../XML/Simple.pm
J'ai mis des guillements car c'est en fait un traitement particulier non documenté par rapport à une balise "name" dans un fichier XML.
La présence d'une balise 'name' entrave la fonction XMLin :
Le fichier XML :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<mesure>
<element>
<name>TOTO</name>
<start>1194875617</start>
<stop>1194875622</stop>
</element>
<element>
<name>TATA</name>
<start>1194875617</start>
<stop>1194875622</stop>
</element>
</mesure> |
Si on fait ::
Code:
XMLin ($mon_fichier, ForceArray => ['element', 'name']);
le resultat :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $VAR1 = {
'mesure' =>
{
'element' => [
{
'name' => 'TOTO',
'start => '1194875617',
'stop' => '1194875622',
}
{
'name' => 'TATA',
'start => '1194646464',
'stop' => '1196873123',
}
]
}; |
name n'est pas transformé en tableau !! :aie:
Il faut donc rajouter dans la commande du XMLin l'option keyattr...
Code:
XMLin ($mon_fichier, ForceArray => ['element', 'name'],keyattr =>['']);
Donc attention aux balises nommées name .... car on peut chercher longtemps, très longtemps.... :lol:
8-)