• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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