if (isset($exportHelper->testNodeXMLElement)) { $XMLcourse->appendChild($exportHelper->testNodeXMLElement); } // append current course to the xml root element $xmlRoot->appendChild($XMLcourse); // unset all for the next loop iteration // unset ($XMLAllNodes); // unset ($XMLAllSurveys); // unset ($XMLAllTests); // to export only test (or nodes or surveys or...) it's enough to say: // $xmlRoot->appendChild($XMLAllTests); } } // otuput XML to string $XMLfile = $domtree->saveXML(); $outZipFile = $exportHelper->makeZipFile($XMLfile, $exportMedia); // echo '<pre>'.htmlentities($XMLfile, ENT_COMPAT | ENT_HTML401, ADA_CHARSET).'<pre/><hr/>'; // print_r($exportHelper->mediaFilesArray); die(); if (!is_null($outZipFile)) { // http headers for zip downloads header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: public"); header("Content-Description: File Transfer"); header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"" . basename($outZipFile) . "\""); header("Content-Transfer-Encoding: binary"); header("Content-Length: " . filesize($outZipFile)); ob_end_flush(); @readfile($outZipFile);