prova questo:
echo "<PRE>";
echo htmlentities($doc->dump_mem(true));
echo "</PRE>";
e vedi se ti crea la struttura corretta. Se te la crea allora i problemi possono essere:
Path non raggiungibile
Path non aperto in scrittura
Prova anche a fare:
$doc->dump_file(realpath("test.xml"),false,true);