Votre question

lecture du contenu XML dans une chaine de caractère

Tags :
  • string
  • Programmation
Dernière réponse : dans Programmation
21 Mai 2008 15:35:56

J'ai un peti problème avec la lecture d'une Chaîne de caractères $string qui contient du XML

j'ai fait $doc = new DOMDocument();
$doc->loadXML($string);

j'ai le message d'erreur Warning: domdocument::D omdocument() expects at least 1 parameter, 0 given

et Fatal error: Call to undefined method domdocument::loadXML()

si kelkun a une idée merci pour l'aide

Autres pages sur : lecture contenu xml chaine caractere

a b L Programmation
21 Mai 2008 22:07:51

Visiblement, tu a un problème avec ton $string, alors affiche le pour savoir ce qu'il y a dedans (je pense qu'il n'y a rien).
Ensuite, du code, tu ne montre pas l'initialisation de $string, alors je ne vois pas comment on peut t'aider :) 
21 Mai 2008 22:41:36

je veux faire un parsing d'un fichier XML que je recupère dans un URL
j'ai utilisé la librairie cURL pour


$string = '';
$url = "http://downloads.bbc.co.uk/podcasts/fivelive/mayo/rss.x...";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, 'proxy:num_port');
//curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$string .= htmlentities(curl_exec($ch));
echo $string;

sa m'affiche correctement le contenu du fichier XML

Je veux donc extraire le contenu de ces données xml avec les méthode DOMDocument

merci
Contenus similaires
a b L Programmation
21 Mai 2008 23:53:24

Ah non j'avais mal lu l'erreur.
Apparemment, il veut un paramètre à l'instanciation de DOMDocument.
Essaie avec $doc = new DOMDocument('1.0');

Sinon tu peux faire ceci (car loadXML est aussi une méthode de classe):
$doc = DOMDocument::loadXML($string);
22 Mai 2008 00:12:35

j'ai essayé sa ossi sa mais sa marche pas
il me donne tjrs le meme message derreur
22 Mai 2008 00:36:29

voici le mesage derreur que j'obtiens avec $doc = DOMDocument::loadXML($string);

Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Start tag expected, '<' not found in Entity, line: 1
22 Mai 2008 00:39:20

et le second message est
Fatal error: Call to a member function getElementsByTagName() on a non-object

merci
22 Mai 2008 00:54:19

j'ai poussé un peu plus j'ai fais $doc = new DOMDocument;
$doc->loadXML($string);

et j'obtiens le message d'erreur suivant

Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Empty string supplied as input

merci
a b L Programmation
22 Mai 2008 12:35:44

ça marche, c'est juste que tu as une autre erreur.

C'est que ta chaine de caractère n'est pas correcte. En effet elle ne contient pas les caractères '<', '>' etc.
C'est parce que tu as utilisé htmlentities !
ça a remplacé tous les '<' en '<'. Du coup, le parsing XML ne trouve aucun élément.
Donc enlève le htmlentities.
22 Mai 2008 13:14:51

Sa marche maintenant sans le htmlentities.
Grand Merci
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS