'getAttribute' tout bête, mais qui ne passe pas - PHP - Programmation
Marsh Posté le 24-11-2010 à 12:08:20
var_dump($enclosure) donne quoi?
Marsh Posté le 25-11-2010 à 04:22:06
comme je suis plutot noob en php, j'ai fait quelques recherches sur var_dump ce qui me balance quasi toujours sa définition absolue. et forcement ça m'aide pas. mais je vais creuser, si je peux avoir des réponses avec ça. et j ferai du feed ou du need bientot
Marsh Posté le 25-11-2010 à 10:49:29
Par curiosité, t'utilises quelle lib pour parser ton xml?
Marsh Posté le 26-11-2010 à 11:21:38
rsslib.php que j'ai eu ici :
http://www.scriptol.fr/rss/lecteur-rss.php
Marsh Posté le 26-11-2010 à 11:36:31
Bon et bien var_dump($enclosure) me donne ça :
object(DOMElement)#7 (0) { } NULL
Voilà comment je l'ai placé, j pense pas avoir fait de bêtise :
$tnl = $item->getElementsByTagName("enclosure" );
$enclosure = $tnl->item(0);
var_dump($enclosure);
j post quand même le bout de xml sur lequel je voudrais que la variable fasse sa recup :
Code :
|
Marsh Posté le 30-11-2010 à 09:54:26
$item c'est ça :
Code :
|
Mais l'erreur n'est pas là puisque juste au dessus de là où la fatal error se déclenche j'ai ça qui récup sans prob ce qui est contenu dans la balise <title>
Code :
|
Et ça marche très bien aussi pour les balises <link>, <description>, <pubdate>.
Marsh Posté le 07-12-2010 à 10:41:19
Ouhla, c'est n'importe quoi cette utilisation de getElementsByTagName
Je te conseille urgemment d'utiliser les XPath avec DOMXpath car getElementsByTagName ne suit pas la hierarchie de l'arbre donc c'est surement pour ça que ça bug.
Marsh Posté le 10-12-2010 à 14:41:01
Merci pour l'aide smaragdus.
Je viens juste de voir ta réponse et entre temps n'ayant pu résoudre le problème, je me suis penché vers une autre méthode pour afficher mon xml.
SimpleXML utilise la méthode cURL qu'on m'a conseillé lorsque j'avais demandé pourquoi rien ne passait une fois le site en ligne.
Avec ça, tout est niquel en local (je récupère balises et attributs sans prob), mais chez OVH j'ai une jolie erreur :
Code :
|
Après qq recherches, j'ai cru comprendre qu'il avait des problèmes parce que ça utilisait le php5. Mais renommer mes fichiers .php en .php5 n'a rien changé.
Voila le code, mais j'ai plus l'impression que c'est un truc relatif à la configuration de php. Mais bon ça me dépasse encore le php ^^
Code :
|
Merci d'avance j'en profite que qq'un passe par là. Car je ne suis toujours pas sorti du problème
Marsh Posté le 13-12-2010 à 13:27:39
Bon et bien, j'ai trouvé. simplexml nécessite php5 pour fonctionner et chez OVH c'est la version 4.4.x
Marsh Posté le 14-12-2010 à 13:41:09
J'ai envoyé un message au support d'OVH qui m'a r'pondu très rapidement :
> Vous pouvez mettre à jour la version de votre php vers la php5.
>
> Pour changer la version de php qui va exécuter un fichier .php, il suffit de créer un .htaccess dans le répertoire de votre site. Avec le bloc note de Windows ou tout autre éditeur de texte, tapez :
>
> SetEnv PHP_VER 5
>
> Enregistrez ce fichier et uploadez le sur votre ftp dans le répertoire concerné et renommez le en .htaccess. Les fichiers .php seront alors exécutés avec la version 5 de php.
>
> http://guides.ovh.com/Php5ChezOvh
Et là tout roule enfin....
Marsh Posté le 24-11-2010 à 11:58:33
Bonjour
J'essaie de récupérer une balise enclosure dans un fichier rss. Cette balise étant enfant directe de la balise channel.
Dans mon fichier php j'essaie de construire la page, mais avant même de pouvoir faire ça, lors de la déclaration des variables de récupération
j'ai une fatal error, Call to a member function getAttribute() on a non-object.
Et celà à cause de la 3ème ligne de ce bout de code. Pourtant j'ai l'impression que le chemin pour récup l'attribut "url" est bon. non?