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 30/10/2006, 23h27   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 12
Points : 2
Points : 2
Par défaut [DOM] Difficulté à l'insertion d'un noeud

Bonjour,

Je n'arrive pas à insérer un noeud à la fin d'un parent précis :


voici le code d insertion

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   $fichier='liste.xml';
  $dom = new DOMDocument('test1');
      $dom->load($fichier);
      /*nouvelle balise <file>*/
      $new_album = $dom->createElement('album');
      /*nouvelle balise <lien>*/
      $new_lien = $dom->createElement('lien');
      $type_content = $dom->createTextNode($lien);
      $letype = $new_lien->appendChild($type_content);
      $lefile = $new_album->appendChild($new_lien);
      /*on rattache tout le <album> au DOM*/
      // pour cela on recherche la bonne catégorie
      $i=0;
      $xpath = new DomXPath($dom); 
      do {
        $test= $dom->getElementsByTagName("categorie")->item($i);
        $nom2= $test->getElementsByTagName("nom")->item(0);
        $i=$i+1;
 
      } while ($nom2->nodeValue!=$_GET['categ']);
 
      $i=$i-1;
      $test= $dom->getElementsByTagName("categorie")->item($i);
      $test->appendChild($new_album);
et le fichier xml (en gras le noeud ajouté systèmatiquement ajouté au premier noeud de catégorie, quand bien même je me positionne ds mon algoritme sur le second)

Code XML :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 <?xml version="1.0" encoding="windows-1250"?>
<categories>
<categorie>
<nom>Ski 2005</nom>
<description/>
<album>
<lien>http://www.bubbleshare.com/rss/14191.03289c5e92c/feed.xml</lien>
</album>
<album>
<lien>http://www.bubbleshare.com/rss/14191.03289c5e92c/feed.xml</lien>
</album>
<album>
<lien>http://www.bubbleshare.com/rss/14191.03289c5e92c/feed.xml</lien>
</album>
<album><lien>toto</lien></album></categorie>
<categorie>
<nom>Ski 2006</nom>
<description/>
<album>
<lien>http://www.bubbleshare.com/rss/14191.03289c5e92c/feed.xml</lien>
</album>
<album>
<lien>http://www.bubbleshare.com/rss/14191.03289c5e92c/feed.xml</lien>
</album>
<album>
<lien>http://www.bubbleshare.com/rss/14191.03289c5e92c/feed.xml</lien>
</album>
</categorie>
</categories>

D'avance merci pour votre aide.
nightf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2006, 09h33   #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
Bonjour
Avec la coloration syntaxique on ne voit pas la ligne en gras. Laquelle est-ce ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2006, 12h54   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 12
Points : 2
Points : 2
Par défaut noeud en gras

c'est le noeud suivant

Code XML :
<album><lien>toto</lien></album>
nightf 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 18h25.


 
 
 
 
Partenaires

Hébergement Web