예제 #1
0
 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();
 }
예제 #2
0
 /**
  * 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);
 }
예제 #3
0
<?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);