XMLWriter::writeElement
(No version information available, might be only in CVS)
XMLWriter::writeElement — Write full element tag
Описание
Object oriented style:
XMLWriter
bool writeElement
( string $name
[, string $content
] )
Procedural style:
bool xmlwriter_write_element
( resource $xmlwriter
, string $name
[, string $content
] )
Writes a full element tag.
Список параметров
- 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.
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
PHP 5.2.3 | The content parameter became optional. |
- XMLWriter::endAttribute
- XMLWriter::endCData
- XMLWriter::endComment
- XMLWriter::endDocument
- XMLWriter::endDTDAttlist
- XMLWriter::endDTDElement
- XMLWriter::endDTDEntity
- XMLWriter::endDTD
- XMLWriter::endElement
- XMLWriter::endPI
- XMLWriter::flush
- XMLWriter::fullEndElement
- XMLWriter::openMemory
- XMLWriter::openURI
- XMLWriter::outputMemory
- XMLWriter::setIndentString
- XMLWriter::setIndent
- XMLWriter::startAttributeNS
- XMLWriter::startAttribute
- XMLWriter::startCData
- XMLWriter::startComment
- XMLWriter::startDocument
- XMLWriter::startDTDAttlist
- XMLWriter::startDTDElement
- XMLWriter::startDTDEntity
- XMLWriter::startDTD
- XMLWriter::startElementNS
- XMLWriter::startElement
- XMLWriter::startPI
- XMLWriter::text
- XMLWriter::writeAttributeNS
- XMLWriter::writeAttribute
- XMLWriter::writeCData
- XMLWriter::writeComment
- XMLWriter::writeDTDAttlist
- XMLWriter::writeDTDElement
- XMLWriter::writeDTDEntity
- XMLWriter::writeDTD
- XMLWriter::writeElementNS
- XMLWriter::writeElement
- XMLWriter::writePI
- XMLWriter::writeRaw
Коментарии
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>
?>
Please note that XMLWriter::writeElement will automatically sanitize the content passed as second parameter, so & becomes &, < becomes < 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.
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