XMLWriter::writeAttribute
xmlwriter_write_attribute
(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)
XMLWriter::writeAttribute -- xmlwriter_write_attribute — Записать полный атрибут
Описание
Объектно-ориентированный стиль
bool XMLWriter::writeAttribute
( string
$name
, string $value
)Процедурный стиль
bool xmlwriter_write_attribute
( resource
$xmlwriter
, string $name
, string $value
)Записывает полный атрибут.
Список параметров
-
xmlwriter
-
Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().
-
name
-
Имя атрибута.
-
value
-
Значение атрибута.
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Смотрите также
- XMLWriter::writeAttributeNS() - Записать полный атрибут пространства имен
- XMLWriter::startAttribute() - Создать начальный атрибут
- XMLWriter::startAttributeNS() - Создать стартовый атрибут пространства имен
- XMLWriter::endAttribute() - Завершить атрибут
- 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
Коментарии
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.
If you intermix writing sub-elements and attributes, any attempt to write attributes after the first sub-element will fail and return false:
<?php
$xml = new XMLWriter();
$xml->openMemory();
$xml->startElement('element');
$xml->writeAttribute('attr1', '0');
$xml->writeElement('subelem', '0');
var_dump($xml->writeAttribute('attr2', '0'));
$xml->endElement();
echo $xml->flush();
?>
Outputs:
bool(false)
<element attr1="0"><subelem>0</subelem></element>
This is because this is a forward-only writer and the start tags are already finished. There is no going back to add more attributes later, there is no place to put attr2. This is exactly how it is supposed to work.