I've done a pretty basic model of some sort, but it actually writes to a text file rather than an XML, mainly because it was a lot easier to handle and you can even add your own HTML inside it (whereas in XML it may complain about this!). Here's my version (somewhat rather basic!):
http://csmith.x10hosting.com/editpag...tpage_form.php
And here's the related code snippets... I've only put in the relevant stuff, such as the PHP code where it would normally be hidden from the browser. This one is on editpage_form.php, where you edit the page on:
HTML Code:
<form id="form1" name="form1" method="post" action="editpage_show.php">
<textarea name="page_content" cols="100" rows="10" wrap="soft" style="font-family:Verdana, Arial, Helvetica, sans-serif; color:#0000FF;"><?php if (file_exists("page.txt")) { echo file_get_contents("page.txt"); } ?></textarea>
<br />
<input name="save_btn" type="submit" value="Save" />
</form>
And this one is where you see your page you've just created, in editpage_show.php:
PHP Code:
<?php
if (isset($_POST['page_content'])){
// To create/overwrite the text file
$textFile = fopen("page.txt","w+b");
// To load the content of the text box and format it accordingly
$content = $_POST['page_content'];
$content = htmlentities($content,ENT_QUOTES);
$content = str_ireplace("\\"",""",$content);
$content = str_ireplace("\\& #039;","& #039;",$content); //delete the spaces between the & and #039;
$content = str_ireplace("<","<",$content);
$content = str_ireplace(">",">",$content);
// Writes the new content to the file
fwrite($textFile,$content);
// Closes the file writing session
fclose($textFile);
} else {
// Checks to see if text file exists, and exit if it doesn't
if (!(file_exists('page.txt'))) {
exit('Failed to open page.txt.');
}
}
// Grabs the content of the text file, and formats it accordingly (again!)
$content = "<p>".file_get_contents("page.txt")."</p>";
$content = str_ireplace("\r\n","</p><p>",$content);
// Displays the formatted test
echo $content;
?>
Any problems or other queries, just give a reply 
Edit: Whenever you start a new line by hitting return/enter, it automatically adds paragragh tags to the final page... I'll make this better as the days go by