Insertion de données dans le fichier XML avec PHP DOM

J'ai essayé d'insérer de nouvelles données dans un fichier XML existant, mais cela ne fonctionne pas. Voici mon fichier xml:

<list>
    <activity>swimming</activity>
    <activity>running</activity>
<list>

Maintenant, mon idée était de créer deux fichiers: une page d'index, où il affiche ce qui est sur le fichier et fournit un champ pour l'insertion de nouveaux éléments, et une page php qui va insérer les données dans le fichier XML. Voici le code pour index.php:

<html>
<head><title>test</title></head>
</head>

<?php
    $xmldoc = new DOMDocument();
    $xmldoc->load('sample.xml', LIBXML_NOBLANKS);

    $activities = = $xmldoc->firstChild->firstChild;
    if($activities!=null){
        while(activities!=null){
            echo $activities->textContent.'<br/>';
            activities = activities->nextSibling.
        }
    }
?>

<form name='input' action='insert.php' method='post'>
    insert activity:
    <input type='text' name='activity'/>
    <input type='submit' value='send'/>
</form>
</body>
</html

et voici le code insert.php:

<?php
    header('Location:index.php');
    $xmldoc = new DOMDocument();
    $xmldoc->load('sample.xml');

    $newAct = $_POST['activity'];

    $root = $xmldoc->firstChild;

    $newElement = $xmldoc->createElement('activity');
    $root->appendChild($newElement);
    $newText = $xmldoc->createTextNode($newAct);
    $newElement->appendChild($newText);

    $xmldoc->save('sample.xml');
?>

L'utilisateur d'accéder à index.php où il allait voir une liste des activités présentes dans le fichier XML, et un champ de texte ci-dessous où il peut insérer de nouvelles activités. En cliquant sur le bouton envoyer, la page d'appel insert.php qui contient un code qui ouvre le fichier XML dans une arborescence DOM, insère un nouveau nœud sous le nœud racine et appelle de nouveau l'index.php page, où l'utilisateur doit être en mesure de voir la liste des activités, de sa nouvelle activité sous la les autres. Il n'est pas de travail. Quand je clique sur le bouton " soumettre une nouvelle entrée, les pages qui rafraîchit et apparemment rien ne se passe, le XML est le même qu'avant. Qu'ai-je fait de mal? Aussi, j'aimerais savoir si il y a une meilleure façon de le faire.

InformationsquelleAutor liewl | 2008-10-11