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/05/2006, 15h36   #1
Invité de passage
 
Inscription : août 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 2
Points : 1
Points : 1
Par défaut [DOM] Problème d'ajout d'un noeud

Bonjour,
J'ai un problème au niveau de l'ajout par php d'un noeud dans le noeud racine d'un fichier existant.

Voici mon fichier php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
  $dom=new DOMDocument('descriptions');
 
  $dom=DomDocument::load("../xml/descriptions.xml");
 
  $racine=$dom->documentElement->nodeName;
 
  $newsponsors = $dom->createElement('sponsors');
  $newmarque = $dom->createElement('marque','Ville de Namur');
  $newlien = $dom->createElement('lien','www.ville.namur.be');
  $newcomment = $dom->createElement('commentaire','La ville de Namur.');
 
  $newimg = $newlien->setAttribute('img','10');
 
  $newsponsors = $dom->appendChild($newsponsors);
  $newmarque = $newsponsors->appendChild($newmarque);
  $newlien = $newsponsors->appendChild($newlien);
  $newcomment = $newsponsors->appendChild($newcomment);
 
  $dom->formatOutput = true;
  / 
  $dom->save("descriptions.xml");
Le problème c'est qu'il le rajoute bien mais après la balise fermante du noeud racine.
Voici mon fichier xml :
Code XML :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE des SYSTEM "descriptions.dtd">
<sponsors>
    <marque>AIEG</marque>
    <lien img="9">www.aieg.be</lien>
    <commentaire>Société de distribution d'électricité.</commentaire>
</sponsors>
</des>
<sponsors>
  <marque>Ville de Namur</marque>
  <lien img="10">www.ville.namur.be</lien>
  <commentaire>La ville de Namur.</commentaire>
</sponsors>

Ma question est comment faire pour l'insérer avant la balise de fermeture ?

Merci d'avance

Damien
damanium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 15h44   #2
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
Je te suggère de reprendre les méthodes des objets DOM et de les utiliser correctement...

le constructeur de DomDocument ne prend pas n'importe quoi en argument.

Il ne faut pas faire
Code :
$dom=DomDocument::load("../xml/descriptions.xml");
mais
Code :
$dom->load("../xml/descriptions.xml");
etc.

Quand on utilise ces objects correctement, on ne peut pas se trouver avec des fichiers XML ayant plusieurs racines...
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2006, 19h01   #3
Invité de passage
 
Inscription : août 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 2
Points : 1
Points : 1
Merci j'ai su résoudre le problème.
damanium 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 03h44.


 
 
 
 
Partenaires

Hébergement Web