Aller au contenu

mettre un flux xml dans une base de données


marvine28

Sujets conseillés

bonjour, j'ai un flux xml d'un catalogue de produits avec plus de 5000 entrés donc il faudrait les mettre dans une base de donné pour pouvoir ensuite les afficher, alors éxiste t-il des scripts pour les mettres dans une base et pourquoi pas les afficher (ça sauverait du temps :D )

merci

Lien vers le commentaire
Partager sur d’autres sites

Salut,

En fait si ton flux XML suit un standard, fait une recherche sur ce standard pour voir les outils existants.

L'integration de ton flux va dependre de 2 parametres assez important:

1) le schema de ton flux XML (comment lire un produit?)

2) l'organisation de ta base de donnees (ou le mettre?)

Sans ces deux informations, il est probable que tu trouves un outil mais avec beaucoup de recherche.

Avec ces deux informations, il est probable que des personnes te proposent des scripts adaptés à ton cas... Dans ce cas: Quel langage peux tu ou veux tu utiliser pour ce script?

Lien vers le commentaire
Partager sur d’autres sites

la structure de ton xml est assez simple:

chaque produit est entouré des balises <produit></produit>

Puis on retrouve les informations entre balises:

<produit>
<id>1049</id>
<hotelname>Novotel Sydney On Darling Harbour</hotelname>
<rating>4</rating>
<lien>http%3A%2F%2Ftracking.publicidees.com%2Fclic.php%3Fpartid%3D3874%26progid%3D104%26adfactory_type%3D12%26ref_pdt%3D1049</lien>
<description>Le Novotel Sydney On Darling Harbour est situé à côté du centre de convention et d'exposition de Sydney avec une liaison directe et commode vers le centre des affaires (CBD) par l'intermédiaire du monorail. Parfaitement situé à quelques minutes des attractions les plus populaires de Sydney comme l'aquarium de Sydney, le musée (Powerhouse Museum) et Star City.</description>
<hotelinfo>Service de baby sitting, Centre d'affaires, Bar à cocktails, Salles de conférence, Chambres non fumeur, Parking (payant), Réception, Restaurant, Sauna, Piscine, Court de tennis</hotelinfo>
<roominfo>Climatisation, Sèche cheveux, Chauffage, Coffre fort dans la chambre, Fer et table à repasser, Minibar, Films à la carte, Radio, Réfrigérateur, Nécessaire pour thé et café, Téléphone, Télévision</roominfo>
<img>http%3A%2F%2Fwww.hotelclub.net%2Fenter.asp%3Fid%3D24616%26%2338%3Bru%3Ddirecthotel.asp%3Fid%3D9</img>
<prix>noprice</prix>
<currency>AUD </currency>
<city>Sydney</city>
<cityid>1</cityid>
<country>Australie</country>
<countryid>3</countryid>
</produit>

Tu pourrais donc faire un fichier php qui agirait de cette façon (le code est faux, c'est juste pour donner une idée):

// [...] Code pour sélectionner chaque groupe <produit>...</produit> [...]
foreach($balise_dans_produit AS $nom_balise => $contenu_balise) // Pour chaque balise (<id>, <city>, <country>...)
{
$$nom_balise = $contenu_balise; // on crée une variable du nom de la balise contenant le texte du xml
echo $$nom_balise;
}

... Mais je ne sais pas comment sélectionner tout le groupe entre <produit> et </produit> :unsure:

Lien vers le commentaire
Partager sur d’autres sites

ok mais il n'éxiste pas de truc qui le rentre au complet dans la base car 5000 entré jvais y passé une vie ;)

<{POST_SNAPBACK}>

Tu vas y passer 2.5 secondes si tu script est codé normalement ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...