// create a new XML document $doc = new DomDocument('1.0'); $doc->formatOutput = TRUE; // create root node $root = $doc->createElement('root'); $root = $doc->appendChild($root); // process one row at a time while($row = mysql_fetch_assoc($dbresult)) { // add node for each row $occ = $doc->createElement($table1_id); $occ = $root->appendChild($occ); // add a child node for each field foreach ($row as $fieldname => $fieldvalue) { $child = $doc->createElement($fieldname); $child = $occ->appendChild($child); $value = $doc->createTextNode(utf8_encode($fieldvalue));//++iso-8859-1.... $value = $child->appendChild($value); } // foreach } // while // get completed xml document $xml_string = $doc->saveXML(); // save xml document $ourFileName = "XML_document.xml"; $ourFileHandle = fopen($ourFileName, 'w') or die("can't open file"); fwrite($ourFileHandle,$xml_string); fclose($ourFileHandle);