Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche 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 11/03/2006, 22h59   #1
Membre du Club
 
Avatar de Righetto Dominique
 
Dominique Righetto
Inscription : mai 2002
Messages : 81
Détails du profil
Informations personnelles :
Nom : Dominique Righetto
Âge : 32
Localisation : Luxembourg

Informations forums :
Inscription : mai 2002
Messages : 81
Points : 64
Points : 64
Envoyer un message via MSN à Righetto Dominique Envoyer un message via Skype™ à Righetto Dominique
Par défaut [SimpleXML] Problème de chargement

Bonsoir,

Je tente de charger un XML venant d'un fichier dans un objet,

Voici mon code de chargement

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
class DAO
{
  private $datasource;
 
  function __construct()
  {     
    $fileName = "structure.xml";
    $source   = file_get_contents($fileName);
    echo ("SOURCE \n" . $source);
    $this->datasource = simplexml_load_string($source);      
    if( $datasource == FALSE ) die("Unable to load data source !");
  }
 
  ........
 
}
Le echo m'affiche bien mon XML mais à chaque fois simplexml_load_string($source); me retourne FALSE ?

Ce n'est pas la première fois que je l'utilise cette API mais c'est la premièire fois qu'elle me fait ce type d'erreur ???

Voici le XML

Code XML :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<structure>
   <!--Partner links informations-->
   <partners>
        <partner name="DomTest" display="false" img="/img/dom.jpg" url="http://www.wanadoo.fr" />
        <partner name="MimiTest" display="true" img="/img/mimi.jpg" url="http://www.tf1.fr" />
   </partners>
   <!--Section files informations-->
   <sections>
        <section name="mySection1" private="true">
        	  <file name="FILE1" type="video" url="/files/toto.txt" />
        	  <file name="FILE2" type="photo" url="/files/toto2.txt" />
        	  <file name="FILE3" type="video" url="/files/toto3.txt" />
        	  <file name="FILE4" type="photo" url="/files/toto4.txt" />
        </section>
        <section name="mySection2" private="false">
        	  <file name="FILE2" type="photo" url="/file/ph2.gif" />
        	  <file name="FILE3" type="photo" url="/file/ph3.gif" />
        	  <file name="FILE1" type="video" url="/files/toto.txt" />
        	  <file name="FILE3" type="video" url="/files/toto3.txt" />
        </section>
   </sections>
</structure>

Merci d'avance pour votre aide

Dominique
Righetto Dominique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2006, 02h35   #2
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 773
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 773
Points : 14 300
Points : 14 300
perso, je n'utilise pas simplexml... car je veux du code compatible php4 et php5

mais si tu veux un exemple
http://www.developpez.net/forums/vie...&highlight=xml
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2006, 08h45   #3
Membre du Club
 
Avatar de Righetto Dominique
 
Dominique Righetto
Inscription : mai 2002
Messages : 81
Détails du profil
Informations personnelles :
Nom : Dominique Righetto
Âge : 32
Localisation : Luxembourg

Informations forums :
Inscription : mai 2002
Messages : 81
Points : 64
Points : 64
Envoyer un message via MSN à Righetto Dominique Envoyer un message via Skype™ à Righetto Dominique
Citation:
Envoyé par gorgonite
perso, je n'utilise pas simplexml... car je veux du code compatible php4 et php5

mais si tu veux un exemple
http://www.developpez.net/forums/vie...&highlight=xml
Bonjour,

Je te remercie pour cette idée mais je n'ai pas à assurer un compatibilité en PHP4...

Je vais encore chercher, je suis sûr que c'est une bétise

Merci encore pour ton post

Dominique
Righetto Dominique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2006, 10h15   #4
Membre actif
 
Avatar de ghostdogpr
 
Étudiant
Inscription : octobre 2003
Messages : 198
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2003
Messages : 198
Points : 195
Points : 195
Envoyer un message via MSN à ghostdogpr Envoyer un message via Skype™ à ghostdogpr
Salut,
pourquoi tu ne fais pas plus simplement :
Code :
1
2
$fileName = "structure.xml"; 
$this->datasource = simplexml_load_file($filename);
ghostdogpr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2006, 10h24   #5
Membre du Club
 
Avatar de Righetto Dominique
 
Dominique Righetto
Inscription : mai 2002
Messages : 81
Détails du profil
Informations personnelles :
Nom : Dominique Righetto
Âge : 32
Localisation : Luxembourg

Informations forums :
Inscription : mai 2002
Messages : 81
Points : 64
Points : 64
Envoyer un message via MSN à Righetto Dominique Envoyer un message via Skype™ à Righetto Dominique
J'ai essayé mais il ne m'affiche pas l'erreur donc je suis passé par un chaine afin de l'afficher et tenter de trouver mon erreur...

En cherchant sur le net dans un cours sur les classes en PHP j'ai vu des erreurs dans mon code donc je l'ai modifié et maintenant je construit comme ceci
Code :
1
2
3
4
5
6
7
 
  function __construct()
  {     
    $fileName         = "structure.xml";
    $this->datasource = simplexml_load_file($fileName);      
    if( $this->datasource == FALSE ) die("Unable to load data source !");
  }
et là quand je fait un
Code :
1
2
3
4
 
include("DataAccessObject.php5");
 
$myDAO = new DAO();
dans un autre fichier PHP afin de tester ma classe, là je me prend
Citation:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Apache/ProXad [Feb 19 2006 23:15:06] Server at drighetto.free.fr Port 80
donc je cherche, je vais bien finir par trouver ma bétise......

Pour info le fichier DataAccessObject.php5 contient 3 classes
2 classes pour les TransferObjects et la classe DAO....


En tout cas merci pour votre aide

Dom
Righetto Dominique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2006, 12h59   #6
Membre du Club
 
Avatar de Righetto Dominique
 
Dominique Righetto
Inscription : mai 2002
Messages : 81
Détails du profil
Informations personnelles :
Nom : Dominique Righetto
Âge : 32
Localisation : Luxembourg

Informations forums :
Inscription : mai 2002
Messages : 81
Points : 64
Points : 64
Envoyer un message via MSN à Righetto Dominique Envoyer un message via Skype™ à Righetto Dominique
Ma plateforme était instable (XAMPP sous Windows XP) car j'avais des erreurs différentes en local et une fois sur mon hébergeur, je suis passé sous EasyPHP 1.8 avec une upgrade vers PHP 5.1.2 et le probléme est résolu sans changer une ligne de code (bizarre quand même)

donc le code de chargement est bien
Code :
1
2
3
4
5
6
7
 
  function __construct()
  {     
    $src              = "structure.xml";
    $this->datasource = simplexml_load_file($src);      
    if( $this->datasource == FALSE ) die("Unable to load data source !");
  }

Merci à tous pour votre aide

Dom
Righetto Dominique 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 14h40.


 
 
 
 
Partenaires

Hébergement Web