Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/10/2011, 19h24   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Par défaut charger un fichier xml à partir de son url

Bonsoir,

Voilà comment je procède :
Code :
1
2
$dom = new DomDocument;
$dom->loadXML("http://...".strtolower($value).",");
et ça me donne ce warning :
Citation:
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
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 19h33   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 133
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 133
Points : 8 493
Points : 8 493
suffit de lire la doc (encore une fois), loadXML attend une chaine ... utilise load ...
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 21h31   #3
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 22h01   #4
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Un autre souci, quelque soit le serveur :
Code :
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 :
  $dom = new DomDocument;
Or dans ce tuto :
Citation:
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
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 00h46   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 133
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 133
Points : 8 493
Points : 8 493
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 ...
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 09h43   #6
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 10h09   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 133
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 133
Points : 8 493
Points : 8 493
toujours pareil t'as pas lu ou partielement la doc, cette directive ce change uniqument dans le php.ini
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 10h21   #8
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 13h12   #9
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Cela :
Code :
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
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 13h26   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 133
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 133
Points : 8 493
Points : 8 493
Citation:
Envoyé par laurentSc Voir le message
Cela :
Code :
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 ?
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 22h51   #11
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 11h09   #12
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h02.


 
 
 
 
Partenaires

Hébergement Web