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

  FORUM HardWare.fr
  Programmation
  PHP

  Créer un fichier XML à partir d'un formulaire

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer un fichier XML à partir d'un formulaire

n°2029842
c-wolf
Posté le 16-10-2010 à 18:37:46  profilanswer
 

Bonjour à toutes et à tous,  
 
après un nombre d'heure impressionnant à essayer de résoudre ce problème je me permets de vous le communiquer pour essayer de trouver une solution. Donc voici, j'essaye de créer un fichier xml à partir d'un texte saisit dans un TEXTAREA.  
 
Tout d'abord voici mon formulaire :  
 

Code :
  1. <form action="test002.php" method="post">
  2.     <textarea name="texte" id="texte"></textarea>
  3.     <input type="submit"/>
  4. </form>


 
Maintenant, mon code PHP :  
 

Code :
  1. /////////////////////////////////////////////////////////////////////////
  2. ////////////////   ENREGISTRONS LES DONNEES DANS UN FICHIER XML
  3. ////////////////////////////////////////////////////////////////////////
  4. # affichons les informations :   
  5. $cle_xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
  6. $texte = "<temp>".$_REQUEST['texte']."</temp>";
  7. $xml = $cle_xml . $texte;
  8. # On instancie l'objet XML :
  9. $docXML = new DomDocument();   
  10. # Créons le fichier XML :
  11. $docXML -> loadXML($xml);
  12. $docXML -> save ("file.xml" );


 
Donc lorsque je saisi dans mon TEXTAREA :  
 

Code :
  1. bonjour

 
 
mon fichier xml contient bien :  
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <temp>bonjour</temp>


 
Maintenant si je saisi (toujours dans mon TEXTAREA) :  

Code :
  1. <gras>bonjour</gras>


 
alors mon fichier XML ne contient plus que :  

Code :
  1. <?xml version="1.0" ?>


 
au lieu de :  

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <temp><gras>bonjour</gras></temp>


 
Alors vraiment, mais vraiment, si vous savez comment faire je suis vraiment preneur car là j'en ai vraiment besoin et je ne m'en sors pas!!!
 
En tout cas merci d'avance!
 
Seb
 

mood
Publicité
Posté le 16-10-2010 à 18:37:46  profilanswer
 

n°2029847
esox_ch
Posté le 16-10-2010 à 19:02:11  profilanswer
 

Peut-être un problème d'encoding?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2029907
c-wolf
Posté le 17-10-2010 à 11:09:25  profilanswer
 

Alors c'était une idée, et j'ai changé :  
 

Code :
  1. $cle_xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";


en :  

Code :
  1. $cle_xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";


 
mais j'ai toujours exactement le même problème...  
 
Au secours  :sweat:  

n°2029915
stef_dober​mann
Personne n'est parfait ...
Posté le 17-10-2010 à 11:47:13  profilanswer
 

il n'y a pas un truc en XML avec [!(DATA)] un truc dans ce style pour dire à XML que ce qui vient après il ne doit pas l'interpréter...


---------------
Tout à commencé par un rêve...
n°2029961
c-wolf
Posté le 17-10-2010 à 15:30:30  profilanswer
 

Alors j'y avais déjà pensé, mais en le testant cela ne marchait pas avec DOMDocument : il ne me trouvait pas les balises <gras> par exemple... Donc pas top du tout...
 
 
Mais merci de ton idée!  
 
Si tu en as une autre je veux bien car là je désespère...
 
(et promis je donne la solution si je trouve entre temps!)


Message édité par c-wolf le 17-10-2010 à 15:32:05
n°2030081
stef_dober​mann
Personne n'est parfait ...
Posté le 17-10-2010 à 23:55:02  profilanswer
 

Testé tel quel :

Code :
  1. <?PHP
  2. $_REQUEST['texte'] = "<gras>bonjour</gras>";
  3. $cle_xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
  4. $texte = "<temp><![CDATA[".$_REQUEST['texte']."]]></temp>";
  5. $xml = $cle_xml . $texte;
  6. # On instancie l'objet XML :
  7. $docXML = new DomDocument(); 
  8. # Créons le fichier XML :
  9. $docXML -> loadXML($xml);
  10. $docXML -> save ("file.xml" );
  11. ?>


 
résultat :

Citation :

<?xml version="1.0" encoding="ISO-8859-1"?>
<temp><![CDATA[<gras>bonjour</gras>]]></temp>


 
résultat attendu non :??:
 
Edit :
autre test :

Code :
  1. <?PHP
  2. $_REQUEST['texte'] = "<gras>bonjour</gras>";
  3. $cle_xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
  4. $texte = "<temp>".$_REQUEST['texte']."</temp>";
  5. $xml = $cle_xml . $texte;
  6. # On instancie l'objet XML :
  7. $docXML = new DomDocument(); 
  8. # Créons le fichier XML :
  9. $docXML -> loadXML($xml);
  10. $docXML -> save ("file.xml" );
  11. ?>


 
résultat :

Citation :

<?xml version="1.0" encoding="ISO-8859-1"?>
<temp><gras>bonjour</gras></temp>


Message édité par stef_dobermann le 17-10-2010 à 23:58:20

---------------
Tout à commencé par un rêve...
n°2030104
stef_dober​mann
Personne n'est parfait ...
Posté le 18-10-2010 à 09:59:56  profilanswer
 

A voir maintenant quel est l'encode du formulaire ...


---------------
Tout à commencé par un rêve...

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

  Créer un fichier XML à partir d'un formulaire

 

Sujets relatifs
Copie de feuilles sur un fichier globalRécupérer taille réelle d'un fichier gzcompressé sans le décompresser
Récupérer les variables d'un formulaire pour les enregister dans BDDComment créer des fichier de dependence avec microsoft compiler
Formulaire HTMLSelectionner un fichier tous les N fichiers
un objet de formulaire en boucle [résolu]Comment renvoyer un formulaire automatiquement
formulaire choix a traiter duuuur 
Plus de sujets relatifs à : Créer un fichier XML à partir d'un formulaire


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