Quick note - writeElement also seems to decode any HTML entities during the write. For example, if you pass it "Me & You", it will write the output as "Me & You".
XMLWriter::writeElement
xmlwriter_write_element
(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)
XMLWriter::writeElement -- xmlwriter_write_element — Write full element tag
Description
Object oriented style
bool XMLWriter::writeElement
( string
$name
[, string $content
] )Procedural style
bool xmlwriter_write_element
( resource
$xmlwriter
, string $name
[, string $content
] )Writes a full element tag.
Parameters
-
xmlwriter -
Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().
-
name -
The element name.
-
content -
The element contents.
Return Values
Returns TRUE on success or FALSE on failure.
Changelog
| Version | Description |
|---|---|
| 5.2.3 |
The content parameter became optional.
|
See Also
- XMLWriter::startElement() - Create start element tag
- XMLWriter::endElement() - End current element
- XMLWriter::writeElementNS() - Write full namespaced element tag
rjb at robertjbrown dot com ¶
3 years ago
googolplex at gmx dot net ¶
4 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>
?>
