Bonjour,
jusque l� j'ai fait quelques parsers XML `� la main', mais j'aimerais
utiliser les modules XML de Perl. But de l'op�ration: importer et
exporter des donn�es de GNUcash dans une base de donn�es PostgreSQL.
GNUcash sort ses donn�es en XML.
J'ai d�j� �crit quelque chose comme:
#! /usr/bin/perl -w
use strict;
use XML::Parser;
use URI::Escape;
my $p = new XML::Parser(Style => 'Tree');
if (my $tree = $p->parsefile($file_name)) {
$result = 0; # SUCCESS
dump_array($tree, "");
}
else {
$error_reason = 'parse failed';
}
On obtient alors quelque chose comme:
ARRAY
gnc-v2
ARRAY
HASH
0
%0A
[ ... ]
ARRAY
HASH
version -> 2.0.0
0
%0A
act:name
ARRAY
HASH
0
Assets
[ ... ]
gnc:transaction
ARRAY
HASH
version -> 2.0.0
[ ... ]
trn:date-posted
ARRAY
[ ... ]
trn:description
ARRAY
HASH
0
Paiement comptant 3450
[ ... ]
trn:splits
ARRAY
[ ... ]
split:value
ARRAY
HASH
0
-500/100
[ ... ]
split:account
ARRAY
[ ... ]
trn:split
ARRAY
[ ... ]
Donc assez pour extraire l'information suivant ma base de donn�es. Je peux
d�sormais aller bricoler dans ce array d'array de hash. Mais y aurait-il
une m�thode meilleure, plus ind�pendante du `document', qui permettrait
d'extraire plus imm�diatement les donn�es ?
Y aurait-il une autre m�thode ?
merci de toute suggestion.
PS: programme sur demande.
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.