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 17/05/2006, 10h56   #1
Invité de passage
 
Inscription : mai 2006
Messages : 25
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 25
Points : 1
Points : 1
Par défaut [DOM] problème avec replaceNode

Salut a tous,
Je souhaite modifier un fichier xml dynamiquement. Dans ce cas la, je veut modifier les attribut d'un noeud. Je sais qu'il faut que j'utilise replaceNode mais a vrai dire je suis un peu perdu.

Fichier xml:
Code XML :
1
2
3
<Liste>
<File id="5" label1="la chose" data1="videos/videos4.flv" description="blablabla c\'est super cool ce machin chose" realiser="machin" date="01/01/01" url1="www.google.fr"/>
</Liste>

Code php:
Code PHP :
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
<?php
$idf=$_POST['id'];
$mlabel1=$_POST["titre"];
$mdata1=$_POST["l_videos"];
$mdescription=$_POST["description"];
$mrealiser=$_POST["realiser"];
$mdate=$_POST["date"];
$marticle=$_POST["l_article"];
$mnomarticle="(lire la suite)";
 
if(!$dom=DOMDocument::load("videos.xml")) {
//if(!$dom->load("videos.xml")){
echo "Erreur lors de l'analyse du document\n";
exit;
}
$filesNodeList = $dom->getElementsByTagName('File');
foreach($filesNodeList as $fileNode){
$label1=$fileNode->getAttribute('label1');
$data1=$fileNode->getAttribute('data1');
if ( $fileNode->getAttribute('id') == $idf){
$titre=$fileNode->replaceNode($mlabel1, $label1);
$video=$fileNode->replaceNode($mdata1,$data1);
}
}
$dom->save("videos.xml" );
echo "reussi";


Mon PHP ne marche pas... Est ce que quelqu'un pourrait m'aider?
lusiole est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2006, 11h08   #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
Citation:
Envoyé par lusiole
if(!$dom=DOMDocument::load("videos.xml")) {
Les erreurs commencent ici... DomDocument::load ne renvoie pas un objet DomDocument mais un booléen.
il faut commencer par
Code :
$dom = new DomDocument();
Et je te conseille de lire ça avant de continuer : http://eusebius.developpez.com/php5dom/
C'est pas terminé mais ça t'aidera peut-être.
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 21h22.


 
 
 
 
Partenaires

Hébergement Web