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

说明

面向对象风格

bool XMLWriter::writeElement ( string $name [, string $content ] )

过程化风格

bool xmlwriter_write_element ( resource $xmlwriter , string $name [, string $content ] )

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 content parameter became optional.

参见

User Contributed Notes

fernandopsilveira at yahoo dot com dot br 23-Mar-2017 09:01
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.
rjb at robertjbrown dot com 25-Jan-2010 03:04
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 &amp; You".
googolplex at gmx dot net 09-Dec-2008 03:08
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>

?>