recuperation de donnees xml en ph p pour insertion dans MySQL
5 réponses
Anne
Bonjour,
Je ne suis pas très à l'aise avec xml et je sèche sur une manière de le
faire.
Si quelqu'un pouvait m'aider, merci.
Voici mon code :
<?
$ch =
curl_init("http://cdt33.tourinsoft.com/soft/RechercheDynamique/Syndication/controle/syndication.asmx/getListing?idModule=843b3e01-7366-4982-b16d-41e6c88d55ec");
ob_start();
curl_exec($ch);
curl_close($ch);
$fichier_XML = ob_get_contents();
ob_end_clean();
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Florian Sinatra
*Anne* @ 08/09/2006 16:34 :
Bonjour, Je ne suis pas très à l'aise avec xml et je sèche sur une manière de le faire. Si quelqu'un pouvait m'aider, merci. Voici mon code : <? $ch > curl_init("[...]"); ob_start(); curl_exec($ch); curl_close($ch); $fichier_XML = ob_get_contents(); ob_end_clean();
As-tu vraiment besoin de cURL ? Si oui, regarde l'option CURLOPT_RETURNTRANSFER de curl_setopt().
De quelle version de PHP disposes-tu ? Si tu peux, essaie de voir du côté de SimpleXML (http://ch2.php.net/manual/fr/ref.simplexml.php) ou au pire de DOM XML (http://ch2.php.net/manual/fr/ref.domxml.php) ;-)
*Anne* @ 08/09/2006 16:34 :
Bonjour,
Je ne suis pas très à l'aise avec xml et je sèche sur une manière de le
faire.
Si quelqu'un pouvait m'aider, merci.
Voici mon code :
<?
$ch > curl_init("[...]");
ob_start();
curl_exec($ch);
curl_close($ch);
$fichier_XML = ob_get_contents();
ob_end_clean();
As-tu vraiment besoin de cURL ? Si oui, regarde l'option
CURLOPT_RETURNTRANSFER de curl_setopt().
De quelle version de PHP disposes-tu ? Si tu peux, essaie de voir du
côté de SimpleXML (http://ch2.php.net/manual/fr/ref.simplexml.php) ou au
pire de DOM XML (http://ch2.php.net/manual/fr/ref.domxml.php) ;-)
Bonjour, Je ne suis pas très à l'aise avec xml et je sèche sur une manière de le faire. Si quelqu'un pouvait m'aider, merci. Voici mon code : <? $ch > curl_init("[...]"); ob_start(); curl_exec($ch); curl_close($ch); $fichier_XML = ob_get_contents(); ob_end_clean();
As-tu vraiment besoin de cURL ? Si oui, regarde l'option CURLOPT_RETURNTRANSFER de curl_setopt().
De quelle version de PHP disposes-tu ? Si tu peux, essaie de voir du côté de SimpleXML (http://ch2.php.net/manual/fr/ref.simplexml.php) ou au pire de DOM XML (http://ch2.php.net/manual/fr/ref.domxml.php) ;-)
Anne
Florian Sinatra a écrit:
As-tu vraiment besoin de cURL ? Si oui, regarde l'option CURLOPT_RETURNTRANSFER de curl_setopt().
De quelle version de PHP disposes-tu ? Si tu peux, essaie de voir du côté de SimpleXML (http://ch2.php.net/manual/fr/ref.simplexml.php) ou au pire de DOM XML (http://ch2.php.net/manual/fr/ref.domxml.php) ;-)
J'ai la version 4.4.4 J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
$node_categorie = $root->get_elements_by_tagname("Catégorie" ); echo utf8_decode($node_categorie[$i]->get_content()); Cela me met : Fatal error:Call to a member function on a non-object...
Je ne peux pas modifier le fichier xml d'origine. Est ce que vous avez une idée de comment faire ?
Merci beaucoup.
Florian Sinatra a écrit:
As-tu vraiment besoin de cURL ? Si oui, regarde l'option
CURLOPT_RETURNTRANSFER de curl_setopt().
De quelle version de PHP disposes-tu ? Si tu peux, essaie de voir du
côté de SimpleXML (http://ch2.php.net/manual/fr/ref.simplexml.php) ou au
pire de DOM XML (http://ch2.php.net/manual/fr/ref.domxml.php) ;-)
J'ai la version 4.4.4
J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de
la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
$node_categorie = $root->get_elements_by_tagname("Catégorie" );
echo utf8_decode($node_categorie[$i]->get_content());
Cela me met : Fatal error:Call to a member function on a non-object...
Je ne peux pas modifier le fichier xml d'origine.
Est ce que vous avez une idée de comment faire ?
As-tu vraiment besoin de cURL ? Si oui, regarde l'option CURLOPT_RETURNTRANSFER de curl_setopt().
De quelle version de PHP disposes-tu ? Si tu peux, essaie de voir du côté de SimpleXML (http://ch2.php.net/manual/fr/ref.simplexml.php) ou au pire de DOM XML (http://ch2.php.net/manual/fr/ref.domxml.php) ;-)
J'ai la version 4.4.4 J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
$node_categorie = $root->get_elements_by_tagname("Catégorie" ); echo utf8_decode($node_categorie[$i]->get_content()); Cela me met : Fatal error:Call to a member function on a non-object...
Je ne peux pas modifier le fichier xml d'origine. Est ce que vous avez une idée de comment faire ?
Merci beaucoup.
Olivier Miakinen
J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui impose de changer le format de sauvegarde du fichier mais aussi de changer la déclaration de charset et de virer les utf8_decode), soit appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera : $root->get_elements_by_tagname(utf8_encode("Catégorie"))
J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de
la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste
après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui
impose de changer le format de sauvegarde du fichier mais aussi de
changer la déclaration de charset et de virer les utf8_decode), soit
appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera :
$root->get_elements_by_tagname(utf8_encode("Catégorie"))
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui impose de changer le format de sauvegarde du fichier mais aussi de changer la déclaration de charset et de virer les utf8_decode), soit appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera : $root->get_elements_by_tagname(utf8_encode("Catégorie"))
Anne
Olivier Miakinen a écrit:
J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui impose de changer le format de sauvegarde du fichier mais aussi de changer la déclaration de charset et de virer les utf8_decode), soit appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera : $root->get_elements_by_tagname(utf8_encode("Catégorie"))
Merci ! J'ai cependant un autre problème... Le document xml contient parfois des noeuds vide et cela provoque la même erreur... J'ai essayé de tester par un $node_categorie[$i]->has_attributes(), mais sans succès...
Olivier Miakinen a écrit:
J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de
la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste
après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui
impose de changer le format de sauvegarde du fichier mais aussi de
changer la déclaration de charset et de virer les utf8_decode), soit
appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera :
$root->get_elements_by_tagname(utf8_encode("Catégorie"))
Merci !
J'ai cependant un autre problème...
Le document xml contient parfois des noeuds vide et cela provoque la
même erreur...
J'ai essayé de tester par un $node_categorie[$i]->has_attributes(), mais
sans succès...
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui impose de changer le format de sauvegarde du fichier mais aussi de changer la déclaration de charset et de virer les utf8_decode), soit appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera : $root->get_elements_by_tagname(utf8_encode("Catégorie"))
Merci ! J'ai cependant un autre problème... Le document xml contient parfois des noeuds vide et cela provoque la même erreur... J'ai essayé de tester par un $node_categorie[$i]->has_attributes(), mais sans succès...
Anne
Olivier Miakinen a écrit:
J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui impose de changer le format de sauvegarde du fichier mais aussi de changer la déclaration de charset et de virer les utf8_decode), soit appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera : $root->get_elements_by_tagname(utf8_encode("Catégorie"))
Merci !
Olivier Miakinen a écrit:
J'ai utlisé DOM XML comme vous le suggérez. Je récupère les valeurs de
la plupart des noeuds, sauf ceux où l'intitulé du noeud contient un accent !
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste
après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui
impose de changer le format de sauvegarde du fichier mais aussi de
changer la déclaration de charset et de virer les utf8_decode), soit
appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera :
$root->get_elements_by_tagname(utf8_encode("Catégorie"))
Ta page est probablement en Latin1 puisque tu utilises utf8_decode juste après. À mon avis, tu devrais soit passer ta page en UTF-8 (ce qui impose de changer le format de sauvegarde du fichier mais aussi de changer la déclaration de charset et de virer les utf8_decode), soit appeler utf8_encode sur tes intitulés de n½uds.
Dans la seconde hypothèse, ce sera : $root->get_elements_by_tagname(utf8_encode("Catégorie"))