class Test { public $f1; private $f2; public function __construct($f1, $f2) { $this->f1 = $f1; $this->f2 = $f2; } } $x = new Test('foo', 42); $options = array( XML_SERIALIZER_OPTION_INDENT => ' ', XML_SERIALIZER_OPTION_RETURN_RESULT => true ); $serializer = new XML_Serializer($options); $result = "<?xml version=\"1.0\"?>\n" . $serializer->serialize($x); file_put_contents('data.xml', $result);