International PHP Conference Berlin 2025

XMLWriter::startDocument

xmlwriter_start_document

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

XMLWriter::startDocument -- xmlwriter_start_documentCreate document tag

Description

Object-oriented style

public XMLWriter::startDocument(?string $version = "1.0", ?string $encoding = null, ?string $standalone = null): bool

Procedural style

xmlwriter_start_document(
    XMLWriter $writer,
    ?string $version = "1.0",
    ?string $encoding = null,
    ?string $standalone = null
): bool

Starts a document.

Parameters

writer

Only for procedural calls. The XMLWriter instance that is being modified. This object is returned from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

version

The version number of the document as part of the XML declaration.

encoding

The encoding of the document as part of the XML declaration.

standalone

yes or no.

Return Values

Returns true on success or false on failure.

Errors/Exceptions

Passing an encoding containing null bytes will throw a ValueError.

Changelog

Version Description
8.4.0 Passing an encoding containing null bytes will now throw a ValueError.
8.0.0 writer expects an XMLWriter instance now; previously, a resource was expected.

See Also

add a note

User Contributed Notes 1 note

up
3
Sbastien
2 years ago
XMLWriter::startDocument() writes the XML declaration.

Without XMLWriter::startDocument() :

<?php

$xml
= new XMLWriter();
$xml->openUri('php://stdout');
$xml->writeElement('message', 'Hello World!');
exit;

/*
Outputs :
<message>Hello World!</message>
*/
?>

With XMLWriter::startDocument() :

<?php

$xml
= new XMLWriter();
$xml->openUri('php://stdout');
$xml->startDocument();
$xml->writeElement('message', 'Hello World!');
exit;

/*
Outputs :
<?xml version="1.0"?>
<message>Hello World!</message>
*/
?>
To Top