Salve a tutti e grazie fin d'ora per l'aiuto!

Ho un grafico in flash SWF che legge i dati da un XML.
Ogni settimana questo XML va modificato. Il dato più vecchio viene eliminato e ne viene inserito uno nuovo.

Per inserire i dati vorrei utilizzare un form HTML dove l'utente inserisce il dato nuovo e con un bottone esegue uno script php che elimina il dato vecchio e inserisce quello nuovo.

Ho ottenuto discreti successi facendo questo lavoro con php.

Script che elimina le righe vecchie:
Codice PHP:
<?php session_start(); 
// The file
$filePath '/....../test/test.xml'
// Grab file into an array, by lines 
$fileArr file($filePath); 
// Remove desired line
unset($fileArr[7]); // $fileArr[15] == line #16 
unset($fileArr[16]); // idem
unset($fileArr[25]); // idem

//Put back with PHP5
file_put_contents($filePathimplode(''$fileArr )); session_destroy(); ?>
Script che inserisce i dati nuovi (qui inseriti a mano nello script e non dal form html:
Codice PHP:
<?php session_start();
// The file
$filePath '/....../test/test.xml';
// Grab file into an array, by lines
$fileArr file($filePath);
//Change
$etichettaasse "\t\t\t\t<string>\t14 gen</string>\n\r";
$medianord "\t\t\t\t<number>\t280\t</number>\n\r";
$mediasud "\t\t\t\t<number>\t280\t</number>\n\r";

// Replace line
$fileArr[11] = $etichettaasse;
$fileArr[19] = $medianord;
$fileArr[27] = $mediasud;

// Implode and save file_put_contents($filePath, implode('', $fileArr ));

session_destroy(); ?>
Purtroppo questa soluzione funziona solo al primo ciclo. Rifacendo il ciclo il file XML diventa illeggibile in quanto, non so per quale motivo, il php non gestisce più le righe nella maniera giusta.

Mi hanno suggerito di usare SimpleXML o DOMDocuments, ma non so da dove partire... inoltre c'è anche un problema di lock del file mentre viene modificato, perché la sola lettura lo comprometterebbe?

Grazie a tutti!