Utilisation de XML comme base de donnnée - PHP - Programmation
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.
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/ )
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
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.
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
Marsh Posté le 23-04-2009 à 16:42:36
ça me rend ce que je cherchais merci beaucoup pour ton aide !
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.
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.