Page 1 sur 1

Parser du xml

Posté : 15 avr. 2007, 15:20
par Masterlud
Bonjour,

Je suis sur un projet ou dans une première phase il faut récupérer des données dans plusieurs flux XML.
Ces flux XML contiennent tous les mêmes données sur des produits de commerce (nom, description, prix, disponibilité, frais de port etc...).
Il faut classer ces informations dans un tableau puis les enregistrer dans une table.
Le problème est que les balises de chaque flux sont différentes, ils ont tous un gabarit différent.
Par exemple pour les frais de port ca peut être <frais>, <fraisdeport>, <fraisport>, <frais_de_port>, <port> etc...
Et il y a aussi un problème de chemin, <frais_de_port> peut très bien être dans <prix> comme il peut ne pas y être.

J'ai donc eu l'idée d'enregistrer les gabarits dans une table en disant par exemple que prix->frais_de_port correspond aux frais de ports et à la boutique 6.
En effet j'ai lu la doc et d'après ce que j'ai compris il faut enregistrer sous cette forme un->deux->trois.
Si vous pouviez me confirmer ceci, merci.

Mais je n'ai pas tout a fais saisi comment parser.
C'est pour celà que je vous demande de l'aide, si vous pouviez m'expliquer ou me passer l'adresse d'un dictaciel clair (car la doc est nuageuse pour moi ^^)

Merci pour votre aide, ludo.

Posté : 15 avr. 2007, 19:16
par Cyrano
Avec quel langage parses-tu tes flux XML ? PHP ou autre ? Si c'est PHP, quelle version : 4 ou 5 ? Si c'est PHP5, un petit tour de la doc sur SimpleXML t'aiderait sûrement beaucoup

Posté : 15 avr. 2007, 23:57
par Masterlud
Je suis déjà aller lire cette documentation.
Dans ma base de donnée j'ai une table de ce type : id, donnee, chemin.
Pour donner un example : 1, frais, prix->frais_de_port
Ceci me suffit pour parser en enregistrer dans les infos dans une table, n'est ce pas ?
En faisant une boucle, je peux utiliser le champ chemin pour accèder à l'info et avec le champs donnee je peux luis associer son type de donnée (par exmple les frais de port) et l'enregistrer dans une autre table)

C'est bon ca ?

Posté : 16 avr. 2007, 00:03
par Cyrano
En faisant une boucle, je peux utiliser le champ chemin pour accèder à l'info et avec le champs donnee je peux luis associer son type de donnée (par exmple les frais de port) et l'enregistrer dans une autre table)

C'est bon ca ?
Aucune idée : d'abord parce que tes explications ne sont pas particulièrement claire et ensuite parce que finalement, je ne sais pas trop ce que tu veux faire.

Encore une fois (je l'ai dit régulièrement à plusieurs) : Expose ton problème avec clarté : plus ce sera précis et complet, plus ... tu auras toi-même bien maitrisé la nature de la difficulté, ce que faisant, tu auras résolu tout seul 80% du problème.

Posté : 16 avr. 2007, 18:46
par Masterlud
C'est pourtant simple.
D'un coté j'ai plusieurs flux contenant les mêmes données mais qui ont des balises différentes.
Et de l'autre coté je veux enregistrer ces donnée dans une table