1/**
2 * section: InputOutput
3 * synopsis: Output to char buffer
4 * purpose: Demonstrate the use of xmlDocDumpMemory
5 *          to output document to a character buffer
6 * usage: io2
7 * test: io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
8 * author: John Fleck
9 * copy: see Copyright for the status of this software.
10 */
11
12#include <libxml/parser.h>
13
14#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
15int
16main(void)
17{
18
19    xmlNodePtr n;
20    xmlDocPtr doc;
21    xmlChar *xmlbuff;
22    int buffersize;
23
24    /*
25     * Create the document.
26     */
27    doc = xmlNewDoc(BAD_CAST "1.0");
28    n = xmlNewNode(NULL, BAD_CAST "root");
29    xmlNodeSetContent(n, BAD_CAST "content");
30    xmlDocSetRootElement(doc, n);
31
32    /*
33     * Dump the document to a buffer and print it
34     * for demonstration purposes.
35     */
36    xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1);
37    printf("%s", (char *) xmlbuff);
38
39    /*
40     * Free associated memory.
41     */
42    xmlFree(xmlbuff);
43    xmlFreeDoc(doc);
44
45    return (0);
46
47}
48#else
49#include <stdio.h>
50
51int
52main(void)
53{
54    fprintf(stderr,
55            "library not configured with tree and output support\n");
56    return (1);
57}
58#endif
59