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)
15 int
main(void)16 main(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 = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL);
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
51 int
main(void)52 main(void)
53 {
54 fprintf(stderr,
55 "library not configured with tree and output support\n");
56 return (0);
57 }
58 #endif
59