Modifier fichier XML
Posté : 29 oct. 2010, 10:56
Bonjour à tous,
Je débute en Php et j'ai des difficultés à modifier un fichier XML.
Je voudrais modifier un ligne en ajoutant des caractères.
J'ouvre mon fichier avec un fopen r+, ensuite avec un while !feof je lis le fichier ligne par ligne avec fgets.
Quand j'arrive à ma ligne voulue, j'utilise un substr_replace pour effectuer la modif et j'écris avec un fwrite.
Mon fichier est bien modifier.
Mon problème :
La mise en forme du fichier n'est plus bonne. En fait le substr_replace a ajouté une ligne mais n'a pas modifié celle selectionnée. Mon fichier se décale.
Je vous poste une partie de mon code.
J'espère avoir été clair.
Merci pour votre aide
Mon code :
Je débute en Php et j'ai des difficultés à modifier un fichier XML.
Je voudrais modifier un ligne en ajoutant des caractères.
J'ouvre mon fichier avec un fopen r+, ensuite avec un while !feof je lis le fichier ligne par ligne avec fgets.
Quand j'arrive à ma ligne voulue, j'utilise un substr_replace pour effectuer la modif et j'écris avec un fwrite.
Mon fichier est bien modifier.
Mon problème :
La mise en forme du fichier n'est plus bonne. En fait le substr_replace a ajouté une ligne mais n'a pas modifié celle selectionnée. Mon fichier se décale.
Je vous poste une partie de mon code.
J'espère avoir été clair.
Merci pour votre aide
Mon code :
// **** Ouverture du fichier en mode mixte, lecture/écriture
$ouvre = fopen("\\\xxxxxxxxxx\\xxxxxxxxx\\EXPORT\\".$NomFich,"r+") or die("Ouverture du fichier impossible");
// **** Tant que pas en fin de fichier
while (!feof ($ouvre))
{
// **** Stockage dans $lecture
$lecture = fgets($ouvre, 4096);
// **** Comparaison des chaines
if(trim($lecture) == trim($comp))
{
$Modifs = substr_replace($lecture[$k],$Modif,0);
fwrite($ouvre,$Modifs);
}
// **** Fermeture du fichier
fclose($ouvre);