Bonjour,
Je n'arrive pas à insérer un noeud à la fin d'un parent précis :
voici le code d insertion
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager