Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3157 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de création xml en PHP avec données d'une BD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de création xml en PHP avec données d'une BD

n°2194709
Profil sup​primé
Posté le 18-06-2013 à 14:47:31  answer
 

Bonjour à tous,
 
Je cherche à exporter une liste de rapports de visite présents dans une base de données MySQL. Mon projet est en PHP.
 
Voici mon code :  
 

Code :
  1. <?php
  2. include("fonctions.inc" );
  3.             $cnx = connecter();
  4. // Instancer la classe DOMDocument
  5.             $doc = new DOMDocument();
  6.             // Spécifier la version et l'encodage
  7.             $doc->version = '1.0';
  8.             $doc->encoding = 'ISO-8859-1';
  9.            
  10.             $requete = "SELECT * FROM RAPPORT_VISITE";
  11.             $rsRapports = mysql_query($requete, $cnx);
  12.            
  13.             while($ligne = mysql_fetch_array($rsRapports))
  14.             {
  15.             // Ajout la balise 'RAPPORT_VISITE' à la racine
  16.                 $rapport_balise = $doc->createElement('RAPPORT_VISITE');
  17.                 $doc->appendChild($rapport_balise);
  18.                
  19.                 $colonne1_balise = $doc->createElement('RAP_NUM', $ligne[0]);
  20.                 $doc->appendChild($colonne1_balise);
  21.                 $colonne2_balise = $doc->createElement('ID_VISITEUR', $ligne[1]);
  22.                 $doc->appendChild($colonne2_balise);
  23.                 $colonne3_balise = $doc->createElement('PRA_NUM', $ligne[2]);
  24.                 $doc->appendChild($colonne3_balise);
  25.                 $colonne4_balise = $doc->createElement('RAP_DATE', $ligne[3]);
  26.                 $doc->appendChild($colonne4_balise);
  27.                 $colonne5_balise = $doc->createElement('RAP_BILAN', $ligne[4]);
  28.                 $doc->appendChild($colonne5_balise);
  29.                 $colonne6_balise = $doc->createElement('RAP_MOTIF', $ligne[5]);
  30.                 $doc->appendChild($colonne6_balise);
  31.                
  32. //               // Spécifier que ces balises sont des "enfants" de la balse "RAPPORT_BALISE"
  33.                 $rapport_balise->appendChild($colonne1_balise);
  34.                 $rapport_balise->appendChild($colonne2_balise);
  35.                 $rapport_balise->appendChild($colonne3_balise);
  36.                 $rapport_balise->appendChild($colonne4_balise);
  37.                 $rapport_balise->appendChild($colonne5_balise);
  38.                 $rapport_balise->appendChild($colonne6_balise);
  39.             }
  40.            
  41.             $doc->formatOutput = true
  42.             // Save this to test.xml
  43.             $doc->save('test.xml');
  44. ?>


 
 
Le message d'erreur affiche :  
Erreur d'analyse XML : données incompréhensibles après l'élément de document
Emplacement : file:///C:/xampp/htdocs/SituationPro2/test.xml
Numéro de ligne 10, Colonne 1 :
 
Le problème c'est que ça n'affiche que la balise de départ : <RAPPORT_VISITE> et à la deuxième ligne : ^
 
Lorsque je fais une requête sur un seul rapport de visite, tout s'affiche correctement quand j'ouvre le fichier xml sous notepad++ :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <RAPPORT_VISITE>
  3.   <RAP_NUM>1</RAP_NUM>
  4.   <ID_VISITEUR>3</ID_VISITEUR>
  5.   <PRA_NUM>23</PRA_NUM>
  6.   <RAP_DATE>2002-04-18</RAP_DATE>
  7.   <RAP_BILAN>Médecin curieux, à recontacter en décembre pour réunion</RAP_BILAN>
  8.   <RAP_MOTIF>Actualisation annuelle</RAP_MOTIF>
  9. </RAPPORT_VISITE>


 
Lorsque je l'ouvre sur internet, ça s'affiche comme ça :

Code :
  1. - <RAPPORT_VISITE>
  2.         <RAP_NUM>1</RAP_NUM>
  3.         <ID_VISITEUR>3</ID_VISITEUR>
  4.         <PRA_NUM>23</PRA_NUM>
  5.         <RAP_DATE>2002-04-18</RAP_DATE>
  6.         -<RAP_BILAN>Médecin curieux, à recontacter en décembre pour réunion</RAP_BILAN>
  7.         <RAP_MOTIF>Actualisation annuelle</RAP_MOTIF>
  8. </RAPPORT_VISITE>


 
Je ne comprends pas le problème, pouvez-vous m'aider ?
 
EDIT: ce message n'apparait que lorsque j'ouvre le fichier avec Firefox.
Je viens de l'ouvrir avec Notepad++ et tous les rapports de visite sont présent. Le code fonctionne mais l'ouverture avec Firefox ne fonctionne pas, est-ce normal ?


Message édité par Profil supprimé le 18-06-2013 à 14:56:27
mood
Publicité
Posté le 18-06-2013 à 14:47:31  profilanswer
 

n°2194855
rufo
Pas me confondre avec Lycos!
Posté le 19-06-2013 à 10:20:45  profilanswer
 

Mon avis est que tu dois avoir des caractères non échappés ou non convertis en entités XML.
 
Ex : si t'as le caractère < ou & dans l'un de tes données que du met en XML, ça va pas plaire au parser XML qui va te dire que ton XML est mal formé... Le parser XML est généralement très tatillon ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2194858
Riokmij
Blink and you're dead
Posté le 19-06-2013 à 10:48:20  profilanswer
 

Je ne connais pas l'implémentation DOM de php, mais il y a un truc qui me choque dans ton code : pourquoi est-ce que tu fais un "$doc->appendChild" avec chaque élément ? Normalement, ça ne devrait même pas fonctionner et ça devrait donner une erreur après le premier, vu qu'un document ne peut avoir qu'un fils direct (mais bon, la gestion des erreurs en PHP...  [:haha prozac]).
 
Du coup, est-ce que par hasard tu aurais autre chose que des blancs ou retours à la ligne après la fermeture de ton tag <RAPPORT_VISITE> ?
 
Sinon, est-ce que tu peux poster le xml obtenu quelque part ? Ça aiderait à comprendre ce qui pose problème.


---------------
Are you two fucking? Are you serious? Right in front of my salad?!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de création xml en PHP avec données d'une BD

 

Sujets relatifs
Probléme PHPproblème de variables VBA
[je ne sais pas)Création jeux de carte pour site webParsage XML vers tableau PHP
Problème php[Résolu] Problème d'affichage de répertoire
Problème "undefined reference to setPixelV@16"[Résolu] Problème affichage tableau
Plus de sujets relatifs à : Problème de création xml en PHP avec données d'une BD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR