XMLWriter::writeElement
xmlwriter_write_element
(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)
XMLWriter::writeElement — xmlwriter_write_element — Write full element tag
说明
面向对象风格
$name
[, string $content
] ) : bool过程化风格
$xmlwriter
, string $name
[, string $content
] ) : boolWrites 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 content parameter 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".