IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM] charger un fichier xml à partir de son url


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut [DOM] charger un fichier xml à partir de son url
    Bonsoir,

    Voilà comment je procède :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dom = new DomDocument;
    $dom->loadXML("http://...".strtolower($value).",");
    et ça me donne ce warning :
    Warning: DOMDocument::loadXML() [domdocument.loadxml]: Start tag expected, '<' not found in Entity, line: 1 in /homepages/18/d246623212/htdocs/xls/example.php on line 46
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    suffit de lire la doc (encore une fois), loadXML attend une chaine ... utilise load ...

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    OK, si je (re)lis ce tuto, load semble plus approprié que loadXML (j'avais pensé le contraire, car l'URL du XML est stockée dans une string), mais avec load, j'obtiens un autre warning (copier-coller impossible, car ça plante à chaque fois, mais en gros "URL file-access is disabled in the server configuration" ; vu ce msg, je vais essayer sur un autre serveur, et si ça marche "résolu".
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Un autre souci, quelque soit le serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: domdocument() expects at least 1 parameter, 0 given in /homez.309/villardd/www/xls/example.php on line 46
    et la ligne 46 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $dom = new DomDocument;
    Or dans ce tuto :
    Tout traitement de XML devrait commencer par la ligne suivante, qui instancie un objet DomDocument, sur lequel nous allons travailler :
    Initialisation
    <?php
    $dom = new DomDocument();
    ?>


    Donc quel est le problème ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    OK, si je (re)lis ce tuto, load semble plus approprié que loadXML (j'avais pensé le contraire, car l'URL du XML est stockée dans une string), mais avec load, j'obtiens un autre warning (copier-coller impossible, car ça plante à chaque fois, mais en gros "URL file-access is disabled in the server configuration" ; vu ce msg, je vais essayer sur un autre serveur, et si ça marche "résolu".
    allow_url_fopen ...

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    J'ai rajouté ini_set('allow_url_fopen',true); en début de fichier (sur le serveur, pas moyen de modifier php.ini...) mais encore le même warning ; quel est donc le problème ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    toujours pareil t'as pas lu ou partielement la doc, cette directive ce change uniqument dans le php.ini

  8. #8
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    sauf que ici, il est marqué que allow_url_fopen est "php_ini_all", donc modifiable partout, y compris par "ini_set"...mais si ce n'est pas le cas, pas moyen de la changer sur ce serveur (dont, évidemment, php.ini n'est pas accessible) ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'allow_url_fopen='.ini_get('allow_url_fopen')."<br>";
    placé juste après le ini_set me confirme le problème ; n'y a-t-il donc aucune solution ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'allow_url_fopen='.ini_get('allow_url_fopen')."<br>";
    placé juste après le ini_set me confirme le problème ; n'y a-t-il donc aucune solution ?
    si tu peux pas changer la conf, essaye de passer par curl, et la par contre tu feras un loadXML, mais c'est pour faire quoi a la base ?

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Je n'étais pas là cet après-midi ; je ne réponds donc que maintenant : en fait, c'est un intranet pour le boulot ; les différents employés ont différentes informations (nom, prénom, matricule, adresse mail, site (multinationale présente dans le monde entier), etc.) regroupées dans un fichier xml. Par contre, lorsque ces personnes quittent la société (retraite, fin de stage, fin de mission d'un sous-traitant, etc.), ce fichier est supprimé. Par contre, ils se sont éventuellement inscrits dans un autre logiciel (dont je suis administrateur) ; je dispose donc d'une liste des inscrits dans ce logiciel
    (stockée dans un fichier xls). Pour chacune de ces personnes, je compte donc explorer le fichier xml et en extraire une information ; si je la trouve c'est que cette personne est encore dans la société, sinon c'est qu'elle est partie : cela me permet donc de mettre à jour cette liste automatiquement.

    J'ai eu une autre idée, moyennement motivé pour étudier curl que je ne connais pas : faire tourner le script en local, ce qui me permet de modifier php.ini. Mais il se trouve que Easyphp (pas Wampserver, car depuis quelques années il ne marche plus chez moi) détecte des erreurs dans un script qui n'est pas de moi et qui ne soulevait pas d'erreur, quand je le mettais sur le serveur. Dernière solution, non encore testée : mettre cette partie sur le serveur, puis l'intégrer dans le script qui tourne en local via une iframe ; un peu tiré par les cheveux, mais si jamais j'échoue, j'ai trouvé ça, mais ça a l'air d'être du chinois
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Plutôt que de recourir à curl que je ne connais pas, je travaille en local (Easyphp).
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.3] Charger un fichier xml à partir d'un URL
    Par sarsar88 dans le forum Langage
    Réponses: 4
    Dernier message: 27/02/2012, 16h17
  2. Réponses: 6
    Dernier message: 01/12/2010, 22h33
  3. [C#] Charger un fichier XML à partir du server
    Par samm_g_h dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/06/2009, 11h42
  4. Lire un fichier XML à partir d'une URL
    Par spaukensen dans le forum Langage
    Réponses: 3
    Dernier message: 18/03/2008, 11h03
  5. [DOM] [JAVA + XML] Ouvrir un fichier xml à partir d'une url
    Par Hell dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 09/06/2005, 00h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo