Ajouter un noeud dans un XML existant en php
Bonjour
Je m'arrache les cheveux. Je cherche à modifier une date dans mon fichier xml, en fonction d'un retour de formulaire.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $dom = new DomDocument();
$dom->load("donnees2.xml");
$searchNode = $dom->getElementsByTagName("ENTITE");
foreach( $searchNode as $searchNode ){
if($searchNode->getAttribute('nom')==$_POST["MAJ_date"]){
$xmlDate = $searchNode->getElementsByTagName("DATE");
$valueDate = $xmlDate->item(0)->nodeValue;
// on crée le nouveau noeud
$newdate = $dom->createElement("DATE");
// on crée le noeud textuel
$date = $dom->createTextNode("21/04/1985");
$newdate->appendChild($date);
$dom->replaceChild($newdate);
$dom->save('donnees2.xml');
echo $valueDate;
}
}
die(); |
Ceci fonctionne, mais il met la date à la fin de mon fichier xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| $dom = new DomDocument();
$dom->load("donnees2.xml");
$searchNode = $dom->getElementsByTagName("ENTITE");
foreach( $searchNode as $searchNode ){
if($searchNode->getAttribute('nom')==$_POST["MAJ_date"]){
$xmlDate = $searchNode->getElementsByTagName("DATE");
$valueDate = $xmlDate->item(0)->nodeValue;
// on crée le nouveau noeud
$newdate = $dom->createElement("DATE");
// on crée le noeud textuel
$date = $dom->createTextNode("21/04/1985");
$newdate->appendChild($date);
$dom->appendChild($newdate);
$dom->save('donnees2.xml');
echo $valueDate;
}
}
die(); |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <?xml version="1.0" encoding="UTF-8"?>
<QUESTIONNAIRE>
<ENTITE nom="Questions-réponses">
<NOM>Questions-réponses</NOM>
<SITE>https://www.fff.fr/9-les-arbitres/240-les-lois-du-jeu.html</SITE>
<DATE>30/06/2021</DATE>
<QUIZZ>
<QUIZZ1/>
</QUIZZ>
</ENTITE>
<ENTITE nom="LIGUE DE BRETAGNE">
<NOM>LIGUE DE BRETAGNE</NOM>
<SITE>https://footbretagne.fff.fr/arbitrage/</SITE>
<DATE>08/08/2020</DATE>
</ENTITE>
</QUESTIONNAIRE> |
Merci d'avance