Note that elements opened this way will *remain open* (i.e. the XML will be badly formed and thus invalid) unless *each element* is explicitly closed with XMLWriter::endElement.
If you have multiple elements open, and wish to simply close them all -- including the root element -- this snippet is what you want:
<?php
// Automatically close all remaining open elements.
while ($xml->endElement() !== false) { continue; }
?>
In some cases, XMLWriter::writeElement might serve you better: it writes complete elements, but isn't suitable when you need to loop to generate its contents, unless this is done beforehand.
XMLWriter->endElement
xmlwriter_end_element
(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)
XMLWriter->endElement -- xmlwriter_end_element — Beendet Element
Beschreibung
Objektorientierter Stil
bool XMLWriter::endElement
( void
)
Prozeduraler Stil
bool xmlwriter_end_element
( resource
$xmlwriter
)Beendet das aktuelle Element.
Parameter-Liste
-
xmlwriter -
Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Siehe auch
- XMLWriter::startElement() - Element beginnen
- XMLWriter::writeElement() - Komplettes Element schreiben
contact at paulchaplin dot com ¶
1 year ago
