Be careful and dont write attributes after writing text() or any content into xml element, for example
<?php
xml->startelement("div");
xml->text("my text in div");
xml->writeattribute("id",1); // wont write because after adding text
xml->endelement();
?>
XMLWriter::writeAttribute
xmlwriter_write_attribute
(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)
XMLWriter::writeAttribute -- xmlwriter_write_attribute — Write full attribute
Description
Object oriented style
bool XMLWriter::writeAttribute
( string
$name
, string $value
)Procedural style
bool xmlwriter_write_attribute
( resource
$xmlwriter
, string $name
, string $value
)Writes a full attribute.
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 name of the attribute.
-
value -
The value of the attribute.
Return Values
Returns TRUE on success or FALSE on failure.
See Also
- XMLWriter::writeAttributeNS() - Write full namespaced attribute
- XMLWriter::startAttribute() - Create start attribute
- XMLWriter::startAttributeNS() - Create start namespaced attribute
- XMLWriter::endAttribute() - End attribute
Maxim at inbox dot ru ¶
1 year ago
Jason Hughes ¶
2 years ago
If you intermix writing sub-elements and attributes, any attributes that are written after the first sub-element are ignored/discarded:
<?php
$xml->startElement('element');
$xml->writeAttribute('attr1', 0);
$xml->writeElement('subelem', 0);
$xml->writeAttribute('attr2', 0);
$xml->endElement();
?>
Outputs:
<element attr1=0>
<subelem>0</subelem>
</element>
This is stupid, but the way it works as of PHP 5.2.4.
