XMLwriter¶
The XMLWriter
PHP extension is a built-in extension that provides a simple and efficient way to generate XML documents in PHP. It allows to create XML elements, attributes, text nodes, and other XML constructs using a procedural interface.
The XMLWriter
extension offers several benefits when working with XML in PHP:
Efficient and low memory usage: The extension is designed to generate XML incrementally, allowing you to write large XML documents without consuming excessive memory.
Stream-oriented output:
XMLWriter
writes XML data to a stream, which can be a file, memory, or an HTTP connection. This enables you to generate XML directly without the need to store the entire document in memory.Namespace support:
XMLWriter
supports XML namespaces, allowing you to define and assign namespaces to elements and attributes.Character encoding and formatting:
XMLWriter
provides methods to set the character encoding of the XML document and control the formatting options, such as indentation and line breaks.Validity and well-formedness checking:
XMLWriter
performs automatic validation and well-formedness checking as you write XML, ensuring that the generated XML document is compliant with XML standards.
<?php
// adapted from PHP Manual
$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, 1);
$res = xmlwriter_set_indent_string($xw, ' ');
xmlwriter_start_document($xw, '1.0', 'UTF-8');
// A first element
xmlwriter_start_element($xw, 'tag1');
// Attribute 'att1' for element 'tag1'
xmlwriter_start_attribute($xw, 'att1');
xmlwriter_text($xw, 'valueofatt1');
xmlwriter_end_attribute($xw);
xmlwriter_end_document($xw);
echo xmlwriter_output_memory($xw);
?>
See also PHP XMLWriter, Create an XML file using XMLWriter
Related : XMLReader, Extensible Markup Language (XML)
Related packages : sabre/xml, fluentdom/fluentdom
Added in PHP 5.0+