public function getXMLFromArray($table_headers, $table, $sum_row_content) { $xw = new xmlWriter(); // Neues xmlWriter Objekt $xw->openMemory(); // Oeffnen eines XML-Dokuments im Speicher $xw->setIndent(true); // sieht einfach besser aus ;-) $xw->startDocument(); // start document $xw->startElement("yaphobia_data"); // start <book> $counter = 0; foreach ($table as $row) { $xw->startElement('row'); $xw->writeElement('id', $counter++); foreach ($row as $key => $value) { //$xw->writeElement( $key, $value); //if ($value == "") $value = "FILLED_BY_YAPHOBIA"; //if ($key == "") $key = "filled_by_yaphobia"; $xw->writeElement(htmlspecialchars($key), htmlspecialchars($value)); } $xw->endElement(); } $xw->endElement(); // yaphobia_data $xw->endDocument(); // end document return $xw->outputMemory(); }
/** * Serialize PHPExcel object to XML * * @param PHPExcel $pPHPExcel * @param string $pFilename * @return string XML Output * @throws Exception */ private function _writeSerialized(PHPExcel $pPHPExcel = null, $pFilename = '') { // Clone $pPHPExcel $pPHPExcel = clone $pPHPExcel; // Update media links $sheetCount = $pPHPExcel->getSheetCount(); for ($i = 0; $i < $sheetCount; ++$i) { for ($j = 0; $j < $pPHPExcel->getSheet($i)->getDrawingCollection()->count(); ++$j) { if ($pPHPExcel->getSheet($i)->getDrawingCollection()->offsetGet($j) instanceof PHPExcel_Worksheet_BaseDrawing) { $imgTemp =& $pPHPExcel->getSheet($i)->getDrawingCollection()->offsetGet($j); $imgTemp->setPath('zip://' . $pFilename . '#media/' . $imgTemp->getFilename(), false); } } } // Create XML writer $objWriter = new xmlWriter(); $objWriter->openMemory(); $objWriter->setIndent(true); // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // PHPExcel $objWriter->startElement('PHPExcel'); $objWriter->writeAttribute('version', '##VERSION##'); // Comment $objWriter->writeComment('This file has been generated using PHPExcel v##VERSION## (http://www.codeplex.com/PHPExcel). It contains a base64 encoded serialized version of the PHPExcel internal object.'); // Data $objWriter->startElement('data'); $objWriter->writeCData(base64_encode(serialize($pPHPExcel))); $objWriter->endElement(); $objWriter->endElement(); // Return return $objWriter->outputMemory(true); }
<?php $superGlobs = array('GET' => $_GET, 'POST' => $_POST, 'COOKIE' => $_COOKIE, 'SERVER' => $_SERVER, 'ENV' => $_ENV); header("Content-type: text/xml"); $xml = new xmlWriter(); $xml->openURI('php://output'); $xml->setIndent(true); $xml->setIndentString(" "); $xml->startDocument(); $xml->startElement('superglobals'); foreach ($superGlobs as $globname => $glob) { $xml->startElement('superglobal'); $xml->writeAttribute('name', $globname); foreach ($glob as $k => $v) { print_glob_val($xml, $k, $v); } $xml->endElement(); } $xml->endElement(); $xml->endDocument(); $xml->flush(); function print_glob_val(XMLWriter $xml, $key, $value) { $xml->startElement('value'); $xml->writeAttribute('name', $key); if (is_array($value)) { foreach ($value as $subkey => $subval) { print_glob_val($xml, $subkey, $subval); } } else { $xml->text($value);