Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa
Archives de la liste
Re: [sympa-fr] constructeur XML à partir d'un fichier CSV
- From: Marc Chantreux <adresse@cachée>
- To: adresse@cachée, Vu Ngoc VU <adresse@cachée>
- Subject: Re: [sympa-fr] constructeur XML à partir d'un fichier CSV
- Date: Thu, 4 Oct 2012 23:47:49 +0200
hello,
On Thu, Oct 04, 2012 at 03:52:28PM +0200, Vu Ngoc VU wrote:
> Bon, ok :
> - il n'y a pas de contrôle sur la validité du CSV en entrée
parcequ'il y en a plus dans les XML de sympa? il existe une DTD, un
schema?
moi j'aurais plutot tendance à dire (avec mon experience):
* ne jamais utiliser autre chose qu'une lib xml pour générer du xml
(oublie awk du coup): les erreurs sont trop vite arrivées.
* le pourrais faire la même remarque pour CSV mais les pbs sont moins
courants.
* ton script prend la source et la destination comme arguments: non
seulement ça te complique la vie mais ca rend ton script bien moins
souple. imagine par exemple que ton entrée soit la sortie d'un autre
programme. il faut donc que ton script se comporte pour bien faire
comme tous les filtres unix.
ci-après donc: une version perl de ton script (sans commentaire parceque
je ne connais pas ton niveau en perl: n'hésite pas à poser des questions).
(ARGV est un fh magique documenté dans "man perlvar" qui permet justement de
se comporter comme un filtre: stdin si fichier absent dans @ARGV)
#! /usr/bin/perl
use XML::Simple;
# premiere ligne = liste des champs
my @fields = map { chomp; split /;/ } scalar <ARGV>;
print XMLout { list =>
[ map {
chomp;
my %list;
@list{ @fields } = split /;/;
\%list;
} <ARGV> ]
}, qw( NoAttr 1 RootName familly );
cordialement,
marc
-
[sympa-fr] constructeur XML à partir d'un fichier CSV,
Vu Ngoc VU, 04/10/2012
-
Re: [sympa-fr] constructeur XML à partir d'un fichier CSV,
Marc Chantreux, 04/10/2012
- Re: [sympa-fr] constructeur XML à partir d'un fichier CSV, Vu Ngoc VU, 05/10/2012
-
Re: [sympa-fr] constructeur XML à partir d'un fichier CSV,
Marc Chantreux, 04/10/2012
Archives gérées par MHonArc 2.6.19+.