Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOMXML
DOMXML Forum d'entraide pour l'extension DOMXML permettant de manipuler des documents XML en PHP 4 (approche DOM). Avant de poster -> tutoriels DOMXML
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 25/05/2006, 10h35   #1
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Par défaut [DOMXML] Conversion formulaire en XML

Bonjour,

Je suis débutant en PHP et voici ce que je voudrai faire : transmettre les données d'un formulaire dans un fichier xml. Je test déjà comment passer du PHP au XML.

Alors, voilà un rapide schéma de mon fichier xml :



Et voilà mon fichier php :

Code :
1
2
3
4
5
<?php
$doc = domxml_open_file("form.xml");
$nod = $doc->document_element("RDV");
$doc->create_element("TEST");
?>
Si j'ai bien compris, j'ouvre le fichier form.xml,
je repère dans le fichier le noeud root "RDV",
je crée le noeud "TEST" (sous noeud de "RDV") dans mon fichier....

Pour obtenir, dans mon fichier xml :

Code XML :
1
2
3
<RDV><blockquote><TEST>
</TEST>
</blockquote></RDV>
Enfin, c'est ce que je veux faire... je n'ai pas d'erreur quand j'ouvre la page php... Mais rien ne se passe dans form.xml... pourquoi ?

Quelqu'un aurait-il une piste ?
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 10h41   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
tu ne sauvegarde pas le nouvel arbre DOM à la fin de ton script, il faut utiliser $doc->save
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 10h44   #3
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Swoög
tu ne sauvegarde pas le nouvel arbre DOM à la fin de ton script, il faut utiliser $doc->save
Nope
Code :
$doc->dump_file($filename, false, true);
C'est du DOMXML, pas du DOM.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 11h07   #4
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Alors j'ai rajouter :

Code :
1
2
3
4
5
6
7
 
1.<?php
2.$doc = domxml_open_file("form.xml");
3.$nod = $doc->document_element("RDV");
4.$doc->create_element("TEST");
5.$doc->dump_file("form.xml", false, true);
6.?>

Mais ca ne change rien... Y a toujours quedal dans form.xml.... Est-ce qu'il n'y a pas un problème dans ma 4e ligne ?
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 11h13   #5
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Code :
1
2
3
4
5
6
7
8
<?php
  $doc = domxml_open_file("form.xml");
  $nod = $doc->document_element("RDV");
  $childNode = $doc->create_element("TEST");
  $nod->append_child($childNode);
  $doc->dump_file("form.xml", false, true);
?>
Une fois qu'un élément a été créé, il faut dire de quel noeud il est le descendant.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 11h19   #6
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Nickel !!!! MERCI BEAUCOUP !!!
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 15h20   #7
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Juste une dernière question, est-ce que vous savez s'il existe un moyen pour organiser en même temps le fichier xml. Je m'explique.

Voici mon fichier test form.php :

Code :
1
2
3
4
5
6
7
8
9
<?php
$doc = domxml_open_file("form.xml");
$nod = $doc->document_element("RDV");
$nnod = $doc->create_element("TEST");
$nnod = $nod->append_child($nnod);
$text = $doc->create_text_node("Test reussi");
$text = $nnod->append_child($text);
$doc->dump_file("form.xml", false, true);
?>
Et voici ce que ça donne dans mon fichier form.xml :

Code XML :
1
2
3
<?xml version="1.0" encoding="ISO-8859-1"?>
<RDV>
<TEST>Test reussi</TEST><TEST>Test reussi</TEST></RDV>


Est-il possible que les enregistrement se mettent de la forme suivante directement :

Code XML :
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="ISO-8859-1"?>
<RDV><blockquote><TEST>
Test reussi
</TEST>
<TEST>
Test reussi
</TEST>
</blockquote></RDV>

D'avance un grand merci !!!
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 15h23   #8
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
ça donne quoi si tu mets "false, false" dans ton dump_file ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 15h25   #9
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
C'est toujours pareil :

Code XML :
1
2
3
<?xml version="1.0" encoding="ISO-8859-1"?>
<RDV>
<TEST>Test reussi</TEST><TEST>Test reussi</TEST><TEST>Test reussi</TEST></RDV>
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 15h33   #10
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Si ton serveur est sous windows : des fois le composant MS XML utilisé par PHP sous windows merdoie un peu dans la mise en forme... Tu trouveras ptet quelque chose là-dessus sur le net.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 15h34   #11
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Mes fichiers web sont sous debian (apache et PHP 4.3.10-16 avec php4-domxml).
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 15h39   #12
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Badaboumpanpan
Mes fichiers web sont sous debian (apache et PHP 4.3.10-16 avec php4-domxml).
Merdouille !
Bon bah... Quand tu auras trouvé, la solution m'intéresse
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h21.


 
 
 
 
Partenaires

Hébergement Web