Faccio la stessa cosa in una mia classe
e funziona una meraviglia

Codice PHP:
class XML {
    public 
$docnull;
    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__.']');
        }
    }