formatOutput = true; // generate formatted XML $root = $doc->createElement( "ingredients" ); // create root element //$testArray = array( 0 => array('name' => 'testName1'), 1 => array('name' => 'testName2'), 2 => array('name' => 'testName3'), 3 => array('name' => 'testName4') ); while($row = mysql_fetch_array ( $result )) { //foreach($testArray as $row){ $node = $doc->createElement( "ingredient" ); // create child element of root // create child element of 'eventlist' $name = $doc->createElement( "name" ); // create text node with the value of database attributes, // then append them to PHP variables $name->appendChild ( $doc->createTextNode ( $row["name"] ) ); $node->appendChild ( $name ); $root->appendChild ( $node ); // append child element to root } $doc->appendChild( $root ); // append root to DOM document mysql_close( $con ); echo $doc->saveXML (); // parse the XML ?>