<?php // use xmlwriter_open_uri() for direct file writes $w = xmlwriter_open_memory(); xmlwriter_set_indent($w, TRUE); xmlwriter_start_element($w, "source"); xmlwriter_start_element($w, "php"); // add raw data via CDATA xmlwriter_start_cdata($w); xmlwriter_text($w, "<?php phpinfo(); ?>"); xmlwriter_end_cdata($w); xmlwriter_end_element($w); xmlwriter_end_element($w); echo '<pre>' . htmlentities(xmlwriter_output_memory($w)) . '</pre>';
/** * @brief Generate an RSS feed * @param string $link * @param string $content */ public static function generaterss($link, $content) { $writer = xmlwriter_open_memory(); xmlwriter_set_indent($writer, 4); xmlwriter_start_document($writer, '1.0', 'utf-8'); xmlwriter_start_element($writer, 'rss'); xmlwriter_write_attribute($writer, 'version', '2.0'); xmlwriter_write_attribute($writer, 'xmlns:atom', 'http://www.w3.org/2005/Atom'); xmlwriter_start_element($writer, 'channel'); xmlwriter_write_element($writer, 'title', 'my ownCloud'); xmlwriter_write_element($writer, 'language', 'en-us'); xmlwriter_write_element($writer, 'link', $link); xmlwriter_write_element($writer, 'description', 'A personal ownCloud activities'); xmlwriter_write_element($writer, 'pubDate', date('r')); xmlwriter_write_element($writer, 'lastBuildDate', date('r')); xmlwriter_start_element($writer, 'atom:link'); xmlwriter_write_attribute($writer, 'href', $link); xmlwriter_write_attribute($writer, 'rel', 'self'); xmlwriter_write_attribute($writer, 'type', 'application/rss+xml'); xmlwriter_end_element($writer); // items for ($i = 0; $i < count($content); $i++) { xmlwriter_start_element($writer, 'item'); if (isset($content[$i]['subject'])) { xmlwriter_write_element($writer, 'title', $content[$i]['subject']); } if (isset($content[$i]['link'])) { xmlwriter_write_element($writer, 'link', $content[$i]['link']); } if (isset($content[$i]['link'])) { xmlwriter_write_element($writer, 'guid', $content[$i]['link']); } if (isset($content[$i]['timestamp'])) { xmlwriter_write_element($writer, 'pubDate', date('r', $content[$i]['timestamp'])); } if (isset($content[$i]['message'])) { xmlwriter_start_element($writer, 'description'); xmlwriter_start_cdata($writer); xmlwriter_text($writer, $content[$i]['message']); xmlwriter_end_cdata($writer); xmlwriter_end_element($writer); } xmlwriter_end_element($writer); } xmlwriter_end_element($writer); xmlwriter_end_element($writer); xmlwriter_end_document($writer); $entry = xmlwriter_output_memory($writer); unset($writer); return $entry; }
VERIFY(xmlwriter_start_attribute($xml, "name2")); VERIFY(xmlwriter_end_attribute($xml)); VERIFY(xmlwriter_write_element($xml, "subnode", "some text")); VERIFY(xmlwriter_end_element($xml)); VERIFY(xmlwriter_start_element_ns($xml, "fb", "node", "http://www.facebook.com/")); VERIFY(xmlwriter_write_attribute_ns($xml, "fb", "attr", "http://www.facebook.com/", "value")); VERIFY(xmlwriter_start_attribute_ns($xml, "fb", "attr2", "http://www.facebook.com/")); VERIFY(xmlwriter_end_attribute($xml)); VERIFY(xmlwriter_write_element_ns($xml, "prefix", "name", "http://some.url/", 1337)); VERIFY(xmlwriter_start_element($xml, "node")); VERIFY(xmlwriter_full_end_element($xml)); VERIFY(xmlwriter_end_element($xml)); VERIFY(xmlwriter_start_element($xml, "node")); VERIFY(xmlwriter_start_cdata($xml)); VERIFY(xmlwriter_text($xml, "Raw text")); VERIFY(xmlwriter_end_cdata($xml)); VERIFY(xmlwriter_end_element($xml)); VERIFY(xmlwriter_start_element($xml, "node")); VERIFY(xmlwriter_write_cdata($xml, "More CDATA")); VERIFY(xmlwriter_end_element($xml)); VERIFY(xmlwriter_start_comment($xml)); VERIFY(xmlwriter_text($xml, "Comments")); VERIFY(xmlwriter_end_comment($xml)); VERIFY(xmlwriter_write_comment($xml, "More comments")); VERIFY(xmlwriter_start_pi($xml, "lol")); VERIFY(xmlwriter_end_pi($xml)); VERIFY(xmlwriter_write_pi($xml, "php", "print 'Hello world!';")); VERIFY(xmlwriter_write_raw($xml, "<node>Raw XML</node>")); VERIFY(xmlwriter_write_dtd($xml, "name", "publicID", "systemID", "subset")); VERIFY(xmlwriter_start_dtd($xml, "name", "publicID", "systemID")); VERIFY(xmlwriter_end_dtd($xml));