PHPKonf 2020 Online

XMLWriter::writeElement

xmlwriter_write_element

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

XMLWriter::writeElement -- xmlwriter_write_elementÉcrit un élément

Description

Style orienté objet

public XMLWriter::writeElement ( string $name [, string|null $content = NULL ] ) : bool

Style procédural

xmlwriter_write_element ( XMLWriter $writer , string $name [, string|null $content = NULL ] ) : bool

Écrit un élément.

Liste de paramètres

writer

Uniquement pour les appels procéduraux. L'instance XMLWriter qui est modifiée. Cet objet provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de l'élément.

content

Le contenu de l'élément.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version Description
8.0.0 writer attend une instance de XMLWriter désormais; aupravent, une resource était attendu.

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
7
googolplex at gmx dot net
11 years ago
The function XMLWriter::writeElement is used to write an element (i.e. a XML tag, an [optional] content, and a closing XML tag) in one line without sub-elements:

<?php

$oXMLout
= new XMLWriter();
$oXMLout->openMemory();
$oXMLout->writeElement("quantity", 8);
$oXMLout->writeElement("price_per_quantity", 110);
print
$oXMLout->outputMemory();

// produces:
// <quantity>8</quantity>
// <price_per_quantity>110</price_per_quantity>

?>

whereas if you want to include sub-elements you have to use the XMLWriter::startElement / XMLWriter::endElement pair:

<?php

$oXMLout
= new XMLWriter();
$oXMLout->openMemory();
$oXMLout->startElement("item");
$oXMLout->writeElement("quantity", 8);
$oXMLout->writeElement("price_per_quantity", 110);
$oXMLout->endElement();
print
$oXMLout->outputMemory();

// produces:
// <item>
// <quantity>8</quantity>
// <price_per_quantity>110</price_per_quantity>
// </item>

?>
up
3
fernandopsilveira at yahoo dot com dot br
3 years ago
Please note that XMLWriter::writeElement will automatically sanitize the content passed as second parameter, so & becomes &amp;, < becomes &lt; and so on.

If you want to input markup directly into an element without validating it, you should use XMLWriter::writeRaw, which writes the contents as is, without any sanitizing.
up
-1
padre[point]cedano[arroba]gmail
4 months ago
Note that if you write element names with spaces or another characters not permitted for W3C Recommendation (https://www.w3.org/TR/xml/#NT-NameStartChar) this method will throw: PHP Warning:  XMLWriter::writeElement(): Invalid Element Name
To Top