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

Descrierea

Stil obiect-orientat

public XMLWriter::openMemory ( ) : bool

Stil procedural

xmlwriter_open_memory ( ) : XMLWriter|false

Creates a new XMLWriter using memory for string output.

Parametri

Valorile întoarse

Stil obiect-orientat: Întoarce valoarea true în cazul succesului sau false în cazul eșecului.

Stil procedural: Returns a new XMLWriter for later use with the xmlwriter functions on success, sau false în cazul eșecului.

Istoricul schimbărilor

Versiune Descriere
8.0.0 This function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.

A se vedea și

add a note add a note

User Contributed Notes 2 notes

up
2
prashant at prashantpatil dot net
13 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
12 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