Ti da errore perche' dovresti studiare la differenza tra una variabile globale e una locale.

Per quanto riguarda l'indentazione, supponi di avere una variabile
Codice PHP:
$mioxml $xml->asXML() //che e' quello che vuoi scrivere nel file, ma non e' formattato 
puoi fare:
Codice PHP:
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace false;
$dom->formatOutput true;
$dom->loadXML($mioxml);
echo 
$dom->saveXML();//qui invece e' formattato, lo puoi scrivere nel file