Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
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 24/07/2006, 13h47   #1
Membre éprouvé
 
Avatar de BrItneY
 
Étudiant
Inscription : juin 2006
Messages : 488
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 488
Points : 488
Points : 488
Par défaut [PHP-XML] ajout du contenu d'une variable

salut à tous,

j'ai un fichier xml de ce type :
Code :
1
2
3
4
5
6
7
8
9
 
<ForumNews>
   <Topic>
		<Title>Titre du Premier sujet.</Title>
		<Auteur>BrItneY</Auteur>
		<Date>18/07/06</Date>
		<texte>Ceci est le texte</texte>
   </Topic>
</ForumNews>
ce que je souhaiterais, c'est inserer le contenu d'une variable (qui contient déja les balises xml) juste avant la balise : </ForumNews>

je me suis renseigné avant de poster, et j'ai vu qu'on pouvait utiliser des $dom, mais je crois pas en avoir besoin dans mon cas, si ? comment puis-je procéder ?

merci d'avance pour votre aide
__________________
Blog de BrItneY. Avis et tests de jeux vidéos PC.

"Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)
BrItneY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 14h07   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

Je pense que le plus simple serait de traiter le fichier comme un fichier texte : tu charges tout le contenu dans une variable (file_get_contents par exemple) tu fait la modif avec un strpos ou autre, puis tu réécris le fichier
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 14h11   #3
Membre éprouvé
 
Avatar de BrItneY
 
Étudiant
Inscription : juin 2006
Messages : 488
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 488
Points : 488
Points : 488
oki merci, je vais me renseigner
__________________
Blog de BrItneY. Avis et tests de jeux vidéos PC.

"Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)
BrItneY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 14h33   #4
Membre éprouvé
 
Avatar de BrItneY
 
Étudiant
Inscription : juin 2006
Messages : 488
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 488
Points : 488
Points : 488
j'ai essayé quelquechose, mais cela ne fonctionne pas :
Code :
1
2
3
4
5
6
7
8
9
10
 
<?
$content= "montexte a rajouter";
$fichier = fopen("data.xml","r"); 
$fichier2 = str_replace("</ForumNews>", "$content</ForumNews>",$fichier);
if(fwrite($fichier, $fichier2)){
	echo "OK !";
}else echo "Erreur !!!";
fclose($fichier);
?>
PS : je suis un débutant complet en php au cas ou cela ne se voit pas...
__________________
Blog de BrItneY. Avis et tests de jeux vidéos PC.

"Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)
BrItneY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 14h34   #5
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
fopen renvoie une ressource, pour récupérer le contenu du fichier, il te faut utiliser fread

quelle version de PHP utilises-tu ?
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 14h46   #6
Membre éprouvé
 
Avatar de BrItneY
 
Étudiant
Inscription : juin 2006
Messages : 488
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 488
Points : 488
Points : 488
j'utilise la version 4.3.10...voila avec modifications :
Code :
1
2
3
4
5
6
7
8
9
10
<?
$filename = "data.xml";
$fichier = fopen ($filename, "r");
$content = fread ($fichier, filesize ($filename));
$content2 = str_replace("</ForumNews>", "megabou</ForumNews>",$content);
if(fwrite($fichier, $content2)){
	echo "OK !";
}else echo "Erreur !!!";
fclose($fichier);
?>
mais il affiche toujours "Erreur !!!"...Une autre erreur ?
__________________
Blog de BrItneY. Avis et tests de jeux vidéos PC.

"Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)
BrItneY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 14h56   #7
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
tu ouvres ton fichier en lecture donc impossible d'écrire dedans...

en utilisant file_get_contents (bien plus simple pour la lecture ) :
Code :
1
2
3
4
5
6
7
8
9
10
<?php
$filename = "data.xml";
$content = file_get_contents($filename);
$content = str_replace("</ForumNews>", "megabou</ForumNews>",$content);
$fichier = fopen($filename, 'w');
if(fwrite($fichier, $content)){
	echo "OK !";
}else echo "Erreur !!!";
fclose($fichier);
?>
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 15h01   #8
Membre éprouvé
 
Avatar de BrItneY
 
Étudiant
Inscription : juin 2006
Messages : 488
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 488
Points : 488
Points : 488
oki, merci beaucoup Swoög c'est parfais et très instructif
__________________
Blog de BrItneY. Avis et tests de jeux vidéos PC.

"Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)
BrItneY 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 11h42.


 
 
 
 
Partenaires

Hébergement Web