XMLWriter::writeElement()
(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)
Write full element tag
说明
面向对象风格
XMLWriter::writeElement(string $name[,string $content]): bool
过程化风格
xmlwriter_write_element(resource $xmlwriter,string $name[,string $content]): bool
Writes a full element tag.
参数
- $xmlwriter
仅用于过程调用。被修改的 XMLWriter resource。此资源来自于对xmlwriter_open_uri()或xmlwriter_open_memory()的调用。
- $name
The element name.
- $content
The element contents.
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
更新日志
版本 | 说明 |
---|---|
5.2.3 | The$contentparameter became optional. |
参见
- XMLWriter::startElement() Create start element tag
- XMLWriter::endElement() End current element
- XMLWriter::writeElementNs() Write full namespaced element tag
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.
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".