Laracon EU Online 2021

XMLWriter::writeElement

xmlwriter_write_element

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

XMLWriter::writeElement -- xmlwriter_write_elementWrite full element tag

Descrição

Estilo orientado à objeto

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

Estilo procedural

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

Writes a full element tag.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The element name.

content

The element contents.

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em caso de falha.

Changelog

Versão Descrição
8.0.0 writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

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
3 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