Faccio la stessa cosa in una mia classe
e funziona una meraviglia 
Codice PHP:
class XML {
public $doc= null;
public $fileName= '';
public function __construct($fileName) {
if(!file_exists($fileName)){
throw new FileException('XML file ['.$fileName.'] not found in ['.__CLASS__.']');
}
$this->fileName= $fileName;
$this->doc= new DOMDocument();
}
all'interno della classe devi utilizzare
$this->doc in modo da poter essere
utilizzato in altri metodi ad esempio:
Codice PHP:
public function save() {
if(!$this->doc->save($this->fileName)){
throw new FileException('Error saving file ['.$this->fileName.'] in class ['.__CLASS__.']');
}
}