XMLWriter::openMemory

xmlwriter_open_memory

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::openMemory -- xmlwriter_open_memoryCreate new xmlwriter using memory for string output

Descrição

Estilo orientado à objeto

public XMLWriter::openMemory ( ) : bool

Estilo procedural

xmlwriter_open_memory ( ) : XMLWriter|false

Creates a new XMLWriter using memory for string output.

Parâmetros

Valor Retornado

Estilo orientado à objeto: Retorna true em caso de sucesso ou false em caso de falha.

Estilo procedural: Returns a new XMLWriter for later use with the xmlwriter functions on success, ou false em caso de falha.

Changelog

Versão Descrição
8.0.0 This function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.

Veja Também

add a note add a note

User Contributed Notes 2 notes

up
2
prashant at prashantpatil dot net
12 years ago
Here is an simple example of using openMemory. This is particularly useful when you are handling a large amount of data and you want to split the xml creation in batches.

<?php
$batchSize
= 25;
$xmlWriter = new XMLWriter();
$xmlWriter->openUri('php://output');
$xmlWriter->setIndent(true);
if(
$xmlWriter)
{
 
$xmlWriter->startDocument('1.0','UTF-8');
 
$xmlWriter->startElement('Books');
 
 
$memXmlWriter = new XMLWriter();
 
 
$memXmlWriter->openMemory();
 
$memXmlWriter->setIndent(true);
 
  for(
$i=1;$i<=1000;$i++)
  {
   
$memXmlWriter->startElement('book');
     
$memXmlWriter->text('book_'.$i);
   
$memXmlWriter->endElement();
   
    if(
$i%5 == 0)
    {
     
$batchXmlString = $memXmlWriter->outputMemory(true);
     
$xmlWriter->writeRaw($batchXmlString);
    }
  }
 
$memXmlWriter->flush();
  unset(
$memXmlWriter);
 
$xmlWriter->endElement();
 
$xmlWriter->endDocument(); 
}
?>
up
-3
alvaro at demogracia dot com
11 years ago
A simple usage example:

<?php
header
('Content-type: text/xml; charset=UTF-8');

$oXMLWriter = new XMLWriter;
$oXMLWriter->openMemory();
$oXMLWriter->startDocument('1.0', 'UTF-8');

$oXMLWriter->startElement('test');
$oXMLWriter->text('Hello, World!');
$oXMLWriter->endElement();

$oXMLWriter->endDocument();
echo
$oXMLWriter->outputMemory(TRUE);
?>
To Top