Utilisation de XML comme base de donnnée

Utilisation de XML comme base de donnnée - PHP - Programmation

Marsh Posté le 23-04-2009 à 15:39:50    

Bonjour,
Je voudrais faire un petit chat,le plus simple possible, en utilisant comme base de donnée un fichier XML.
Je voudrais savoir comment "insérer" une ligne dans un fichier XML à partir d'un code PHP; en effet voici mon fichier XML :
          <post>
          <message>Bonjour et bienvenu a vous !</message>
          <message>Criss: Bonjour</message>
          </post>
 
J'aimerais en fait pouvoir insérer des nouveaux messages entre </message> et </post> .
La solution serait de remplacer </post> par '<message>mon message</message></post>' mais je n'ai rien trouvé sur internet pouvant m'éclairer.  

Reply

Marsh Posté le 23-04-2009 à 15:39:50   

Reply

Marsh Posté le 23-04-2009 à 15:51:24    

tu peux regarder du coté des extensions permettant la manipulation XML tel que DOM XML ou simpleXML.


Message édité par _v1ru5_ le 23-04-2009 à 15:51:35
Reply

Marsh Posté le 23-04-2009 à 16:06:37    

j'avais regardé DOM XML, et j'avais trouvé
DOMDocumentFragment::appendXML avec comme exemple :
 $doc = new DOMDocument();
 $doc->loadXML("<root/>" );
 $f = $doc->createDocumentFragment();
 $f->appendXML("<foo>text</foo><bar>text2</bar>" );
 $doc->documentElement->appendChild($f);
 echo $doc->saveXML();  
Si j'ai bien compris, ça va créer un XML en entier. Il faudrait donc s'arranger pour que le nouveau fichier XML généré contienne tout ce qu'avait le précédent (+ ce que je veux ajouter bien sûr ) et écraser l'ancien.  
 
(Source: http://fr.php.net/ )

Reply

Marsh Posté le 23-04-2009 à 16:17:24    

exactement.
pour ton écrasement, n'utilise pas loadXML et saveXML mais load et save
la méthode DOMDocument::load(filename) te permet de charger depuis un fichier.
après tu fais tes traitements et pour finir tu utilise DOMDocument::save(filename) où filename est le nom du fichier a écraser

Reply

Marsh Posté le 23-04-2009 à 16:32:03    

Lorsque tu manipule du XML, fais attention à la volumétrie, parce que si ton XML devient 'trop' gros et que tu le manipule avec DOM, tu va mettre beaucoup de temps à le parser, donc tu risque d'avoir un temps de réponse trop grand ... :s
Dans ce cas SimpleXML peut être mieux car 'plus rapide'.
Après si ta volumétrie n'est pas trop importante, ça ne pose pas de problème de le parser en DOM.
 


---------------
By bob.
Reply

Marsh Posté le 23-04-2009 à 16:35:37    

le hic avec simpleXML c'est que c'est fait pour le lecture et l'écriture. Si il veut faire des suppressions DOM est a préférer

Reply

Marsh Posté le 23-04-2009 à 16:42:36    

ça me rend ce que je cherchais merci beaucoup pour ton aide  !


Message édité par Criss06 le 23-04-2009 à 17:03:37
Reply

Marsh Posté le 23-04-2009 à 16:44:16    

Après au niveau volume, il doit surement être possible de faire un "clear" après un certain nombre de message.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed