PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → parseurs XML sous wm9
parseurs XML sous wm9
Débuté par s.brackez, 24 oct. 2005 07:55 - 9 réponses
Posté le 24 octobre 2005 - 07:55
Bonjour,

j'effectue une requete sur un service web mais le résultat est sous forme d'un fichiers XML....

je recherche des conseilles ou exemples afin de faire un pseudo parseur XML sous notre agl ????

merci
Posté le 24 octobre 2005 - 12:45
"stef" <s.brackez@atp01.com> a écrit dans le message de news:
435c623e$1@news.pcsoft.fr...
je recherche des conseilles ou exemples afin de faire un pseudo parseur
XML sous notre agl ????


Personnellement, j'ai abandonné l'idée ...
J'avais exactement la même problématique et j'avais écrit un parseur sous la
forme d'une classe en convertissant en WLanguage un objet pascal. Mais j'ai
rencontré des problèmes de performance et surtout de mémoire ...

Du coup, je récupère les données sous forme de fichier texte avec
séparateur, avec une entete perso pour définir les champs, le nombre de
lignes ... (il faut dire que le service me renvoi le résultat d'une requete
SQL).
En faisant attention à la manipulation des tableaux, on est arrivé à un
fonctionnement rapide et peu gourmant.

JP
Posté le 24 octobre 2005 - 18:21
Si tu n'es pas pressé, la v10 doit le permettre !....

"stef" <s.brackez@atp01.com> a écrit dans le message de news:
435c623e$1@news.pcsoft.fr...


Bonjour,

j'effectue une requete sur un service web mais le résultat est sous forme
d'un fichiers XML....

je recherche des conseilles ou exemples afin de faire un pseudo parseur
XML sous notre agl ????

merci
Posté le 24 octobre 2005 - 21:13
ben je suis pressé lol ;) et surtout mon client !!!

mode bricole : ON

merci de vos réponses.
Posté le 25 octobre 2005 - 09:52
le service web du fournisseur me retourne la requete sous forme d'un fichier XML...
pas de possibilité d'avoir le retour en format texte...
Posté le 25 octobre 2005 - 10:42
Perso, j'ai fais comme JP, je transfert les données en mode TXT, j'avais
essayé un mini parseur, mais j'ai abandonné !...

"Gérard" <_no_spam_aurilog@wanadoo.fr> a écrit dans le message de news:
435cd996$1@news.pcsoft.fr...

Si tu n'es pas pressé, la v10 doit le permettre !....

"stef" <s.brackez@atp01.com> a écrit dans le message de news:
435c623e$1@news.pcsoft.fr...


Bonjour,

j'effectue une requete sur un service web mais le résultat est sous forme
d'un fichiers XML....

je recherche des conseilles ou exemples afin de faire un pseudo parseur
XML sous notre agl ????

merci


Posté le 25 octobre 2005 - 16:07
Je te propose une mini usine a gaz en attendant la V10 :
Sur le réseau de l'entreprise, tu crée sur un PC tu créé un serveur SOAP,
avec une seule fonction, transcoder du XML en TXT formaté à ton goût.
Quand tu reçoit de ton fournisseur le fichier XML, tu invoque ton serveur
SOAP pour qu'il te le transforme en "string" que tu exploites facilement.
Les transfert traitement SOAP sont trés rapide, et ça sera tjs plus rapide
et plus juste qu'un parseur bricolé.
A la V10, tu suprime "l'usine à gaz."





"stef" <s.brackez@atp01.com> a écrit dans le message de news:
435dcf1b@news.pcsoft.fr...

le service web du fournisseur me retourne la requete sous forme d'un
fichier XML...
pas de possibilité d'avoir le retour en format texte...


Posté le 25 octobre 2005 - 18:15
Merci Gérard,

malheureusement dans ce cas ce n'est pas possible.

L'application est nomade : sur un smartphone qui adresse les requetes par GPRS
directement sur un serveur web !

a moins que je monte un serveur web faisant office de relaie !!!
entre le (smartphone/client) et le (fournisseur/service web)...

usine a gaz bis....

plus simplement j'essaye de m'en sortir avec des extractions de chaines de caracteres...
Posté le 27 octobre 2005 - 23:30
Hello.

Nous avons exactement la même problématique et nous avons procédé également par extraction de chaînes. C'est pas super-beau mais c'est efficace.

Attention cependant aux chaînes en provenance du service web, susceptibles de contenir des caractères accentués ou pire, des balises XML ("</" par exemple) !
Nous avons dû utiliser des conversions du type:

sres est une Buffer
reponse est une chaîne
sres = UnicodeVersAnsi(SOAPDonneRésultat(SOAPRésultat))
reponse = AnsiVersUnicode(sres, alphabetUTF8)
Posté le 28 octobre 2005 - 09:31
si le document XML est long, on ne peut pas vraiment cacher le traitement pour l'utilisateur.... une petite attente est nécessaire pour l'extration des chaines...et la mise en forme du doc.

de plus il faut que le document XML soit tres bien structuré sinon ca devient vite compliqué.... de ne pas faire " une moulinette a gaz "

vivement la version 10 ! avec l'intégration des webservices ca me parait obligatoire aujourd'hui !