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 15/03/2007, 17h57   #1
Membre confirmé
 
Avatar de lun4t1k
 
Inscription : janvier 2007
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2007
Messages : 276
Points : 233
Points : 233
Par défaut [DOM] DOMDocument et insertion

Bonjour!
xml:
Code XML :
1
2
3
4
5
6
7
8
9
<root>
	  <description nom="nomFichier">
		  descriptiondufichier
	  </description>
	  <description nom="nomfIchier2">
		  descr2
	  </description>
<!-- ... -->
</root>
php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
//Chargement du xml
$x = "descriptions.xml";
$dom = new DOMDocument('1.0', 'ISO-8859-1');
$dom->load($x);
 
//Création du noeud
$nvelleDescr = $dom->createElement("description");
$desc = $dom->createTextNode("contenu");
$nvelleDescr->setAttribute("nom", "totoleheros");
 
//Insertion du noeud
$nvelleDescr->appendChild($desc);
$root = $dom->documentElement;
$root->appendChild($nvelleDescr);

C'est tout simple, insérer par un script php un élément dans le fichier xml...
Je n'ai pas d'erreur mais rien ne change dans le xml!

Merci
lun4t1k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 18h06   #2
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Est-ce que tu sauvegardes les modifications ?
Si tu fais echo $dom->saveXML() tu devrais voir les modifs.

$dom->save('file.xml') pour sauvegarder dans un fichier
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 18h13   #3
Membre confirmé
 
Avatar de lun4t1k
 
Inscription : janvier 2007
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2007
Messages : 276
Points : 233
Points : 233
C'est sur qu'en sauvant c'est mieux...
Mais il ya encore un bug:
j'obtiens
Code xml :
1
2
3
4
5
6
<root>
<description nom="nf1">
		  descr
	  </description>
...
<description nom="totoleheros">contenu</description><descrip
Ca a été tronqué!
lun4t1k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 18h25   #4
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Qu'est-ce qui a été tronqué ? Si php ne signale pas d'erreur c'est que le xml est valide et je ne vois pas trop ce qui peut être tronqué
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 18h30   #5
Membre confirmé
 
Avatar de lun4t1k
 
Inscription : janvier 2007
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2007
Messages : 276
Points : 233
Points : 233
Il me supprime la balise fermante de la racine, m'insère correctement le noeud ou il faut et me rajoute un debut de balise "<descr"

il me tronque mes balises.

je n'ai toujours pas d'erreur. :/
lun4t1k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 18h37   #6
Membre confirmé
 
Avatar de lun4t1k
 
Inscription : janvier 2007
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2007
Messages : 276
Points : 233
Points : 233
Ca y est ca fonctionne,

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
/*Chargement du fichier xml*/
$x = "descriptions.xml";
$dom = new DOMDocument('1.0', 'ISO-8859-1');
$dom->load($x);
/*Création des éléments*/
$nvelleDescr = $dom->createElement("description");
$desc = $dom->createTextNode("contenu");
$nvelleDescr->setAttribute("nom", "nomFichier");
 
/*Ajout au document*/
$nvelleDescr->appendChild($desc);
$root = $dom->getElementsByTagName("root")->item(0);
$root->appendChild($nvelleDescr);
$dom->save('descriptions.xml');
Le code opérationnel pour les intéressés...

merci de ton aide!
lun4t1k 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 21h11.


 
 
 
 
Partenaires

Hébergement Web