KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Vendredi 16 mai 2008 - 05:02:58

écrire dans un fichier xml avec php

Rechercher : dans
écrire dans un fichier xml avec php
par Musashii
 Fil de Discussions
Statut : Non résolu
dimanche 12 juin 2005 à 23:59:00
bonjour,
je débute avec le xml et php et je me pose une question.
En fait grâce à simpleXML j'ai réussi à récupérer le XML contenu dans me fichier, et à naviguer dedans pour

récupérer les donnée dont j'ai besoin, mais je ne sais pas comment faire pour rajouter des donnée.
Concrètement, j'ai un fichier de ce type :

Code:
<categorie id="cat1">
<categorie id="sous_cat1">
<img id="img1"/>
</categorie>
</categorie>


Et je voudrai rajouter <img id="img2"/> à la suite de l'img1
Comment je pourrai faire ça ?
Répondre à Musashii  Signaler ce message aux modérateurs Aller au dernier message

1


  • 3
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Par jisisv, le lundi 13 juin 2005 à 03:57:46 Fil de Discussions
Utilise domxml et xpath (ici sous PHP5)
exemple
johand@horus:~/src/php/php5$ cat test.php
<?php
$anXMLString='<?xml version="1.0" encoding="UTF-8"?>
<categorie id="cat1">
<categorie id="sous_cat1">
<img id="img1"/>
</categorie>
</categorie>';

$doc = new  domDocument();
$doc->loadXML($anXMLString);
$xpathdoc= new DOMXPath($doc);
$nodes = $xpathdoc->query('//categorie[@id="sous_cat1"]');
$anotherNode = $doc->createElement("img","");
$anotherNode->setAttribute("id", "blahblah");
$nodes->item(0)->appendChild($anotherNode);
$res = $doc->saveXML();
print($res);
?>

Lire par exemple:
http://php.easynet.be/manual/en/ref.dom.php
http://php.easynet.be/manual/fr/ref.dom.php
et le miroir qui te convient le mieux.
Tu sauves le document dans un fichier avec
$doc->save("le_nom_du_fichier.xml");

Johan Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Répondre à jisisv

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Musashii, le lundi 13 juin 2005 à 10:07:55 Fil de Discussions
merci pour cette réponse très rapide ^^
ça m'a été d'une grande utilité, j'ai réussi à faire ce que je voulais ^^
Répondre à Musashii

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par musashii, le lundi 13 juin 2005 à 15:58:43 Fil de Discussions
je suis désolé je suis vraiment débutant et j'ai un autre problème
en fait je voudrai faire une arborescence avec les niveaux de catégories et les images, mais je sais pas vraiment comment m'y prendre avec les fonction disponibles, il vaut mieux faire ça avec simpleXML ou bien domXML ?
Répondre à musashii

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fausto, le mardi 6 mars 2007 à 16:50:31 Fil de Discussions
bonjour,

je voudrais faire la même chose,
mais j'ai la version 4.3.3 de Php sur mon serveur
si quelqu'un a une idée
merci d'avance
f
Répondre à fausto

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par jo, le lundi 2 avril 2007 à 15:17:33 Fil de Discussions
installe php5 ;)
Répondre à jo

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Fraja, le samedi 18 août 2007 à 15:44:52 Fil de Discussions
très bon exemple qui me sort une belle épine. Bravo pour la clareté de l'exmple.
Répondre à Fraja

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Zup, le lundi 14 janvier 2008 à 11:51:05 Fil de Discussions
J'ai un petit prob avec cet exemple
Parse error: parse error, unexpected T_OBJECT_OPERATOR
ca correspondrait a la ligne $nodes->item(0)->appendChild($anotherNode);
A quoi cela pourrait il etre du, ma version de php est la 4.4.7 ? je dois obligatoirement avoir la 5 ?
(xpath activé)
merci !
Répondre à Zup

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fausto, le lundi 14 janvier 2008 à 12:19:52 Fil de Discussions 
hello

pas besoin de php5

en php4 :

[code]

//****************************************************************************************­***************
//génération XML
//****************************************************************************************­***************

$xml_upload = "dossier photos/";
$xml_upload .= "$nom_photo";

//****************************************************************************************­***************

$filename = 'chemin vers le fichier XML';

$newContent = "\r\t<image path=\"".$xml_upload."\" />";
$newContent .= "\r</gallery>";
$content = file_get_contents($filename);
$newContent = str_replace('</gallery>', $newContent, $content);

$handle = fopen($filename, 'w');
fwrite($handle, $newContent);
fclose($handle);
if (fwrite) {
echo "<table width=\"58%\" border=\"0\" align=\"center\" class=\"bloc1\">";
echo "<br>";
echo "<tr>";
echo "<br>";
echo "<br>";
echo "<td width=\"79%\" class=\"bloc1\"><pre><center>Diaporama mis à jour</center></pre></td>";
echo "<br>";
echo "</tr>";
echo "<br>";
echo "</table>";
}

//****************************************************************************************­***************

[/code]

++
f
Répondre à fausto
Discussions pertinentes trouvées dans le forum
10/03 15h20ecrire fichier xml avec du flash?Programmation10/03 15h200
26/02 12h14Ecrire <?xml dans un fichier avec PHPWebmastering27/02 09h201
19/05 10h21[php xml] Ecrire dans un fichier xmlWebmastering19/05 10h210
12/03 15h02Update de fichier XML via phpWebmastering14/03 10h178
Plus de discussions sur « écrire dans un fichier xml avec php » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide