probléme d'interfaçage des fichier xml

WRInaute discret
slt

je suis hichem j'ai un problème concernant les flux xml:
j'explique:
j'ai un comparateur de prix de voyage www.voyagesnet.com,et j'ai réçu chaque jours plusieurs fichiers flux xml contenant les produits de tour opérateur (exemple lastminute ,lookvoyage, opodo,promovanace..)
le probléme que ces flux xml de produits récus n'ont pas la même structure au niveau des balises et même au contenu ,bon pourque je puisse insérer tous ces produits dans un seul table de la base de données alors je dois les rendre en même structure et je dois faire même des modifications sur le contenu des balises,mais la vérité j'ai pas arrivé à trouver une solution rapide et facile pour modifier les flux xml

exemple de flux récus au prés des agences:


-------------flux lastminute-----------------------
<product>
<programname>lastminute.com France</programname>
<programurl>http://www.lastminute.com</programurl>
<catalogname>vacances d'été</catalogname>
<lastupdated>06/21/2008 01:03:59 AM</lastupdated>
<name>AUTOTOUR GUADELOUPE - LA GUADELOUPE EN LIBERTE 2*</name>
<keywords>GUADELOUPE</keywords>
<description>AUTOTOUR GUADELOUPE - LA GUADELOUPE EN LIBERTE 2*, 7 nuits, PARIS</description>
<sku>626677702</sku>
<upc>626655565</upc>
<currency>EUR</currency>
<saleprice>0.00</saleprice>
<price>643.00</price>
<retailprice>970.00</retailprice>
<buyurl>http://www.dpbolvw.net/click-2758207-10417056?url=http%3A%2F%2Fwww.fr.lastminute.com%2Flmn%2Fpso%2Fcatalog%2FProduct.jhtml%3FCATID%3D95201%26PRODID%3D626655565%26partnerId%3D31002</buyurl>
<impressionurl>http://www.tqlkg.com/image-2758207-10417056</impressionurl>
<imageurl>http://cdn.lastminute.com/dbimagecache/336304908.gif</imageurl>
<advertisercategory>PARIS</advertisercategory>
<thirdpartycategory>POINTE-A-PITRE</thirdpartycategory>
<promotionaltext>La Guadeloupe en Liberté 2*</promotionaltext>
<startdate>10/06/2008 12:00:00 AM</startdate>
<enddate>10/13/2008 12:00:00 AM</enddate>
<online>yes</online>
<instock>yes</instock>
</product>

--------------------flux promovacances----------------------------------
<product>
<titre>les Résidences de la Grande Motte</titre>
<description>Les Résidences de la Grande Motte sont situées dans le quartier de la Motte du Couchant, à 1500 m du centre et des commerces par la promenade piétonnière du bord de mer et à 150 m de la plage et des commerces saisonniers. Non loin du parc des sport ainsi que de l'arêne, vous aurez la possiblité d'effectuer des balades à cheval ainsi que du footing pour les plus courageux! Vous serez logés dans des petits immeubles de 2/3 étages proposant des appartements confortables et bien équipés pourvus dÂ’un balcon (en étage) avec salon de jardin. Côté pratique, vous pourrez vous garer gratuitement dans le parking municipal. Bordée de plages de sable fin, cette station dynamique toute l'année, offre de nombreux loisirs de jour comme de nuit...</description>
<depart>Languedoc-Roussillon / La Grande Motte</depart>
<merchant>Résidence 2*</merchant>
<url>http://ad.zanox.com/ppc/?8864250C950237187&amp;ULP=[[http://ski.promovacances.com/partner/appaf/ChoixDate.asp?lngHebId=3063&amp;lngProId=39206&amp;lngLieuId=1176&amp;g_intNbNuit=7&amp;g_intNbPers=10&amp;acti_type=1&amp;affilie=796620&amp;lang=fr]]</url>
<img>http://www.skihorizon.com/images/newheb/1176/3063/EgmotRETEfcd01T.jpg</img>
<date>2008-06-16</date>
<prix>174</prix>
</product>

-------------------------------look voyage--------------------------------
<product id="2539015433" number="0000007230-BODMRUMOK-20080624-07"><affiliateprogram id="3165" /><info><name>Ile Maurice - Mauritius</name><description state="short">VOL + Séjour + Demi-pension</description><description state="long">Niché entre un joli jardin et une plage de sable blond bordée de filaos, l’hôtel Mont Choisy vous offre des vacances ludiques, sportives ou tout simplement relaxantes.</description><manufacturer>Ile Maurice</manufacturer><shippinghandling>Bordeaux</shippinghandling><extratext number="1">Mauritius</extratext></info><category /><links><deeplink>http://ad.zanox.com/ppc/?8892653C1874178000&amp;ULP=[[&amp;MODE=CATDETAIL&amp;product_id=7230&amp;merchant_id=LK0002&amp;AFFI=LK0002&amp;utm_source=affiliation&amp;utm_medium=display&amp;utm_content=&amp;utm_campaign=Permanent]]</deeplink><image state="small"><url>http://www.look-voyages.fr/rio/ocean/photos/Look-E08/w150/IleMaurice/MontChoisy/CoraliaMontChoisy_plage.jpg</url></image></links><state>1</state><date state="update">2008-02-14T20:36:00</date><date state="valid from">2008-06-24T00:00:00</date><date state="valid to">2008-07-01T00:00:00</date><offer><currentprice currency="EUR">1609.00</currentprice><deliverytime>7</deliverytime></offer></product>

----------------------------------------------------------
on remarque que les flux xml ont des strucutres différentes

alors je vais avoir une structure standard pour ces flux pour je puisse bien l'utiliser au niveau de mon site

exemple dans les balises :
<startdate>10/06/2008 12:00:00 AM</startdate>
<enddate>10/13/2008 12:00:00 AM</enddate>
de lastminute
si par exemple je fais une modification sur ces balises alors je dois avoir le resultat suivant

<moisdebut>11</moisdebut><jourd>14</jourd><ansd>2008</ansd>
<moisfin>11</moisfin><joursf>18</joursf><ansf>2008</ansf>

voila ca éxemple de modification même je vais supprimer des données ,ajouter des données etc...

en attendant votre réponse mérçi beaucoup.
cordialement


:eek:
 
WRInaute passionné
Hello,

je travaille justement là dessus ces derniers temps et la réponse est "simple" : il faut faire du spécifique. Chaque Voyagiste/Flux est spécifique, et il faut donc le traiter comme tel.

Il n'existe pas de solution magique qui fera le boulot à ta place... à moins d'utiliser le flux d'un revendeur (qui prendra évidement sa commission).
 
WRInaute discret
La solution consiste à créer un ou plusieurs format pivot. Un pour les séjours, un pour les hôtels, ... par exemple

En l'occurrence ton format pivot sera une structure XML qui correspondra plus ou moins à la ou les tables de ta base de données.

Je te l'accorde, la création de cette structure n'est pas forcement aisée. Mais il faut que tu l'a définisse en fonction des informations que tu souhaites afficher sur ton site => Tout ce qui est dans les flux des tours opérateurs, n'est pas forcement à reprendre.

Ensuite pour chaque type de XML en entrée, tu dois appliquer des règles qui vont te permettre d'alimenter les balises du format pivot en fonction d'une ou de plusieurs balises de la structure d'entrée (quand c'est possible bien sur).

Ensuite l'insertion en base se fait simplement à partir de ce format pivot
 
Discussions similaires
Haut