XMLWriter::openMemory
xmlwriter_open_memory
(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)
XMLWriter::openMemory -- xmlwriter_open_memory — Создать новый объект XMLWriter, используя память для строкового вывода
Описание
Объектно-ориентированный стиль
bool XMLWriter::openMemory
( void
)
Процедурный стиль
resource xmlwriter_open_memory
( void
)
Создает новый объект XMLWriter, используя память для строкового вывода.
Список параметров
Возвращаемые значения
Объектно-ориентированный стиль: Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Процедурный стиль: возвращает новый xmlwriter resource для дальнейшего использования функциями
xmlwriter в случае успеха либо FALSE
в случае ошибки.
Смотрите также
- XMLWriter::openURI() - Создать новый объект XMLWriter, используя исходный URI для вывода
- XMLWriter::endAttribute
- XMLWriter::endCData
- XMLWriter::endComment
- XMLWriter::endDocument
- XMLWriter::endDTDAttlist
- XMLWriter::endDTDElement
- XMLWriter::endDTDEntity
- XMLWriter::endDTD
- XMLWriter::endElement
- XMLWriter::endPI
- XMLWriter::flush
- XMLWriter::fullEndElement
- XMLWriter::openMemory
- XMLWriter::openURI
- XMLWriter::outputMemory
- XMLWriter::setIndentString
- XMLWriter::setIndent
- XMLWriter::startAttributeNS
- XMLWriter::startAttribute
- XMLWriter::startCData
- XMLWriter::startComment
- XMLWriter::startDocument
- XMLWriter::startDTDAttlist
- XMLWriter::startDTDElement
- XMLWriter::startDTDEntity
- XMLWriter::startDTD
- XMLWriter::startElementNS
- XMLWriter::startElement
- XMLWriter::startPI
- XMLWriter::text
- XMLWriter::writeAttributeNS
- XMLWriter::writeAttribute
- XMLWriter::writeCData
- XMLWriter::writeComment
- XMLWriter::writeDTDAttlist
- XMLWriter::writeDTDElement
- XMLWriter::writeDTDEntity
- XMLWriter::writeDTD
- XMLWriter::writeElementNS
- XMLWriter::writeElement
- XMLWriter::writePI
- XMLWriter::writeRaw
Коментарии
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();
}
?>
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);
?>