cs_Straw
Messages postés33Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention25 août 2008
-
6 mai 2006 à 23:11
cs_Straw
Messages postés33Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention25 août 2008
-
10 mai 2006 à 12:07
Bonjour à tous,
je pose cette question dans le cadre de mon mémoire... que je dois rendre dans 12jours
Je développe un site flash-xml. Jusque là ca va. J'administre mes
fichiers XML avec DOMXML comme cela doit se faire. Il s'agit ici d'un
simple ajout dans un noeud deja existant.
Voici mon xml :
<?xml version="1.0"?>
<events>
<event>
<date>15-04-06</date>
</event>
</events>
(Il y a + d'éléments dans le noeud <event> mais ceci à titre d'exemple)
Lorsque j'ajoute un noeud (formulaire php) <events> il le
met à la suite du dernier, ce qui est normal. voici le code d'ajout :
if(isset($_POST['submit'])){
$date = $_POST['date'];
$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
$doc->load('../xml/events.xml');
$events = $doc->documentElement;
$newevent = $doc->createElement('event');
$newdate = $doc->createElement('date', $date);
$newevent->appendChild($newdate);
$events->appendChild($newevent);
$doc->formatOutput = true;
$doc->save('../xml/events.xml');
}
Mais je souhaiterais que le noeud que je rajoute ne se mette pas en derniere position, mais bien en 1ere position.
Ceci dit, pourquoi ? On se fiche pas mal de l'ordre des données dans un fichier xml (en tous cas, pour des noeuds de même niveau et de même parent). Ca reste comme une bdd : un petit sort () et on affiche ça dans l'ordre que l'on veut.
cs_Straw
Messages postés33Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention25 août 2008 7 mai 2006 à 15:48
Mais il n'y a pas de rubrique XML dans le forum... Tous les post sur
DOMXML se trouvent dans la partie AU SECOURS ! Etant donné que je ne
vais pas utiliser visual basic, je reste dans PHP.
Mon problème est pourtant simple à comprendre :
Je veux que mon nouvel enregistrement ne vienne pas à la fin des autres, mais au début. Petit exemple :
XML de départ :
<éléments>
<élément>01</élément>
</éléments>
Lors de l'ajout de <élément>02</élément> je désirerais qu'il se mette au dessus :
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 9 mai 2006 à 14:27
Heu, toutes les méthodes DOMDocument ont la même en-tête, et ce depuis déjà des lustres (ou presque)...or, il utilise bien DOMDocument.
Et j'utilise cette méthode régulièrement sans aucun problème...
Quant à se placer sur le 1er élément, c'est ce que fait cette méthode, justement...qui peut-être remplacée par du XPath, ou un appel direct à elements -> elemen(0) ce qui revient au même.
Sauf que tu proposes une solution qui ne tient pas compte du DOM, et qui ne fonctionnera pas avec son code.