Chargement d'un XML externe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Chargement d'un XML externe

par Victor BRITO » 30 mars 2008, 03:09

Pourquoi ne pas utiliser SimpleXML ? ;)

par Ingham » 30 mars 2008, 02:04

C'est réglé, désolé du dérangement ;)
Pour ceux qui ca interesse, cela venait du site utilisé qui retournait un HTML au lieu d'un XML si l'User-Agent n'était pas IE ou Mozilla... Je suis passé par un CURL :)

Code : Tout sélectionner

static function GetXMLContent($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); curl_close($ch); return $res; }

Chargement d'un XML externe

par Ingham » 30 mars 2008, 00:12

Bonjour à tous :)

J'ai un petit soucis, je dois lire un XML externe pour obtenir des infos sur quelque chose...
Le soucis c'est qu'au lieu de me loader le XML lui meme, il me charge le XSL auquel il est rattaché, du coup évidement le parsing marche pas...

Face à ce problème, j'ai essayé plus simple:

Code : Tout sélectionner

$cache_name = "cache/test.xml"; $xml_url = "http://www.test.com/test.xml?a=".$a."&b=".$b; copy($xml_url, $cache_name);
Rien à faire, le fichier créé contient le code HTML final et non pas les données du XML.
Bizarre, surtout que quand j'ouvre ce XML avec IE ou Firefox, et que j'affiche la source, le XML est bien montré:
Image

Ca prouve bien que le serveur ne bloque pas l'envoi de son XML (c'est d'ailleurs pas leur interêt ;))

Une idée quelqu'un ? :(

Merci d'avance