Récupérer BDD d'un site via un XML

Petit nouveau ! | 4 Messages

03 oct. 2009, 12:29

Bonjour à tous !

Et bien voila je suis en face d'un probleme. Mon boss me demande de récupérer la BDD d'un site en utilisant un fichier .XML. Il m'a dit que c'était possible car le site procède comme ca pour fournir ces produits à ces sous traitants :roll: :roll: En gros je dois créer un script PHP qui scan chaque balise du XML et qui stock les données dans notre BDD Local pour le moment. Je suis pas très bon en PHP du tout donc merci si vous pouvez me donner un coup de main ce serait gentil :D :D Le site qu'on doit scanner est rueducommerce.com, on est partenaire avec, voila le XML :

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?> <catalog_rueducommerce> <product> <partnumber>00079801</partnumber> <monde>Accessoires et consommables</monde> <categorie>Toner </categorie> <souscategorie>Toners Noirs</souscategorie> <nom>Cartouche Noire Okipage 8P/8W, Okifax 4500 (00079801) (RSYS:32:297971)</nom> <marque>OKI</marque> <prix base="Euro TTC">29.9</prix> <ecotaxe base="Euro TTC">0</ecotaxe> <disponibilite>En stock, expédié en 24h</disponibilite> <link><![CDATA[http://www.rueducommerce.fr/info/basket/purchase.cfm?product_ID=297971&Product_CID=32&baskdo=addproduct&qty=1]]></link> <moreinfo><![CDATA[http://www.rueducommerce.fr/accessoire/showdetl.cfm?Product_ID=297971]]></moreinfo> <url_produit><![CDATA[http://www.rueducommerce.fr/Accessoires-Consommables/Toner/Toners-Noirs/OKI/297971-Cartouche-Noire-Okipage-8P-8W-Okifax-4500-00079801.htm]]></url_produit> <url_stdimage>http://www.rueducommerce.fr/accessoire/images/produits/info/I01610__new.jpg</url_stdimage> <url_smimage>http://www.rueducommerce.fr/accessoire/images/produits/info/small/I01610__new.jpg</url_smimage> <url_lrgimage>http://www.rueducommerce.fr/accessoire/images/produits/info/Large/I01610__new.jpg</url_lrgimage> <frais_de_port base="Euro TTC">4.9</frais_de_port> </product>

ViPHP
ViPHP | 1136 Messages

03 oct. 2009, 15:11

Salut ...

Vous êtes partenaires ?

pourquoi pas demander simplement un export de leurs base ?

Sinon , pour le xml , il existe plusieurs outils plus ou moins simple à utiliser , DOM , SimpleXML natif à php .

Je te renvois donc sur les doc concerné , ce n'est vraiment pas compliqué :

DOM
SimpleXML

Good luck ,
Ch.

Petit nouveau ! | 4 Messages

03 oct. 2009, 18:47

ils ne veulent pas nous exporter leur base car ils fonctionnent ainsi avec leurs partenaires. C'est a dire via leur XML. J'ai eu beau épluché la doc j'ai rien trouver qui pourrait m'aider à récupérer les données de la BDD Via le XML .. :(

ViPHP
ViPHP | 1136 Messages

03 oct. 2009, 19:11

Ce n'est pas un service web qu'il mettent à dispo ?

Car , comme ça je en vois aucun autre moyen de récupérer la bdd :-/

Mammouth du PHP | 991 Messages

05 oct. 2009, 19:15

D'après ce que j'ai compris tu récuperes un fichier xml que tu souhaite traiter.

lit ces fonctions cela t'aidera ;) http://fr.php.net/manual/fr/book.simplexml.php
DevOps, Symfony4, Hoa

Petit nouveau ! | 4 Messages

12 oct. 2009, 15:36

Je suis débutant en PHP et je souhaite récupérer les valeurs de cet XML ci dessous dans ma BDD appelé "produits". Je rapel la structure du XML :

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?> <catalog_rueducommerce> <product> <partnumber>00079801</partnumber> <monde>Accessoires et consommables</monde> <categorie>Toner </categorie> <souscategorie>Toners Noirs</souscategorie> <nom>Cartouche Noire Okipage 8P/8W, Okifax 4500 (00079801) (RSYS:32:297971)</nom> <marque>OKI</marque> <prix base="Euro TTC">29.9</prix> <ecotaxe base="Euro TTC">0</ecotaxe> <disponibilite>En stock, expédié en 24h</disponibilite> <link><![CDATA[http://www.rueducommerce.fr/info/basket/purchase.cfm?product_ID=297971&Product_CID=32&baskdo=addproduct&qty=1]]> </link> <moreinfo><![CDATA[http://www.rueducommerce.fr/accessoire/showdetl.cfm?Product_ID=297971]]></moreinfo> <url_produit><![CDATA[http://www.rueducommerce.fr/Accessoires-Consommables/Toner/Toners-Noirs/OKI/297971-Cartouche-Noire-Okipage-8P-8W-Okifax-4500-00079801.htm]]></url_produit> <url_stdimage>http://www.rueducommerce.fr/accessoire/images/produits/info/I01610__new.jpg</url_stdimage> <url_smimage>http://www.rueducommerce.fr/accessoire/images/produits/info/small/I01610__new.jpg</url_smimage> <url_lrgimage>http://www.rueducommerce.fr/accessoire/images/produits/info/Large/I01610__new.jpg</url_lrgimage> <frais_de_port base="Euro TTC">4.9</frais_de_port> </product>

ViPHP
ViPHP | 1136 Messages

12 oct. 2009, 15:59

... même question = même réponse ...

Utilise simpleXML

Pour être plus précis, tu peux regarder directement du coté de simplexml_load_file() dans ton cas ...

Tu récupéres donc simplement les données du fichier xml , il ne te reste plus qu'à les insérer dans ta base ...

C'est tres simple à utiliser , et la doc est trés bien faite !