(root)/
libxml2-2.12.3/
doc/
examples/
io2.c
       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
      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
      52  main(void)
      53  {
      54      fprintf(stderr,
      55              "library not configured with tree and output support\n");
      56      return (0);
      57  }
      58  #endif