php supprimer des lignes d'un fichier xml
Bonjour,
J'essaie de supprimer des lignes en fonction du choix de l'utilsateur d'un fichier xml mais je n'y arrive pas, voici le code utilisé ci-dessous:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
$isAlreadyRemoveBluRay=false;
$isAlreadyRemoveDVD=false;
$isPresentBluRay=false;
$isPresentDVD=false;
$dom = new DOMDocument;
$dom->load("monfichier.xml");
$GData=$dom->getElementsByTagName("GData");
$listFiles=$dom->getElementsByTagName("File");
$gen=$dom->getElementsByTagName("GData")->item(0);
foreach ($listFiles as $File){
if(($isPresentBluRay===false) && ($isAlreadyRemoveBluRay===false)){
if(strcmp($File->getAttribute('value'),'###BLURAY_PATH###')==0){
//$dom->parentNode->removeChild($file);
$elementsToRemove[] = $File;
$ligne=$dom->getElementsByTagName("File")->item($indexFile);
$gen->removeChild($ligne);
$isAlreadyRemoveBluRay=true;
}
}
if(($isPresentDVD===false) && ($isAlreadyRemoveDVD===false)){
if(strcmp($File->getAttribute('value'),'###DVD_PATH###')==0){
$elementsToRemove[] = $File;
if($isAlreadyRemoveLivre==true){
$ligne=$dom->getElementsByTagName("File")->item($indexFile-1);
}else{
$ligne=$dom->getElementsByTagName("File")->item($indexFile);
}
$gen->removeChild($ligne);
$isAlreadyRemoveDVD=true;
}
}
$indexFile=$indexFile+1;
}
$dom->save("monfichier.xml"); |
Structure .xml:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<GData name="gdata" value="data">
<!--
-->
<File value="###LIVRES_PATH###"/>
<File value="###DVD_PATH###"/>
<File value="###BLURAY_PATH###"/>
<File value="###CASSETTE_PATH###"/>
<NO_File value=""/>
<NO_File value=""/>
<NO_File value=""/>
<NO_File value=""/>
</GData> |
Serais t-il possible de m'aider s'il vous plait?
Merci d'avance.