Ну это хорошо, если только русские буквы будут =) а что если какие-нть другие? =)
Я вот так вот делал, мб по скорости и не самое быстрое, зато не нужно заморачиваться с подстановками/перестановками =)

Код:
<?php
class PostXML extends DOMDocument {
private $src;
function __construct() {
parent::__construct("1.0", "utf-8");
if(isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$this->src = trim($GLOBALS["HTTP_RAW_POST_DATA"]);
$sxml = simplexml_load_string($this->src);
$dxml = $this->importNode(dom_import_simplexml($sxml), true);
$this->appendChild($dxml);
} else {
$nodata = $this->appendChild($this->createElement("noData"));
$nodata->appendChild($this->createTextNode("No data posted!"));
}
}
/**
* @return string
*/
function toString() {
$this->formatOutput = true;
return $this->saveXML();
}
}
?>