Blame doc/examples/io2.c

Packit 423ecb
/**
Packit 423ecb
 * section: InputOutput
Packit 423ecb
 * synopsis: Output to char buffer
Packit 423ecb
 * purpose: Demonstrate the use of xmlDocDumpMemory
Packit 423ecb
 *          to output document to a character buffer
Packit 423ecb
 * usage: io2
Packit 423ecb
 * test: io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
Packit 423ecb
 * author: John Fleck
Packit 423ecb
 * copy: see Copyright for the status of this software.
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
#include <libxml/parser.h>
Packit 423ecb
Packit 423ecb
#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
Packit 423ecb
int
Packit 423ecb
main(void)
Packit 423ecb
{
Packit 423ecb
Packit 423ecb
    xmlNodePtr n;
Packit 423ecb
    xmlDocPtr doc;
Packit 423ecb
    xmlChar *xmlbuff;
Packit 423ecb
    int buffersize;
Packit 423ecb
Packit 423ecb
    /*
Packit 423ecb
     * Create the document.
Packit 423ecb
     */
Packit 423ecb
    doc = xmlNewDoc(BAD_CAST "1.0");
Packit 423ecb
    n = xmlNewNode(NULL, BAD_CAST "root");
Packit 423ecb
    xmlNodeSetContent(n, BAD_CAST "content");
Packit 423ecb
    xmlDocSetRootElement(doc, n);
Packit 423ecb
Packit 423ecb
    /*
Packit 423ecb
     * Dump the document to a buffer and print it
Packit 423ecb
     * for demonstration purposes.
Packit 423ecb
     */
Packit 423ecb
    xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1);
Packit 423ecb
    printf("%s", (char *) xmlbuff);
Packit 423ecb
Packit 423ecb
    /*
Packit 423ecb
     * Free associated memory.
Packit 423ecb
     */
Packit 423ecb
    xmlFree(xmlbuff);
Packit 423ecb
    xmlFreeDoc(doc);
Packit 423ecb
Packit 423ecb
    return (0);
Packit 423ecb
Packit 423ecb
}
Packit 423ecb
#else
Packit 423ecb
#include <stdio.h>
Packit 423ecb
Packit 423ecb
int
Packit 423ecb
main(void)
Packit 423ecb
{
Packit 423ecb
    fprintf(stderr,
Packit 423ecb
            "library not configured with tree and output support\n");
Packit 423ecb
    return (1);
Packit 423ecb
}
Packit 423ecb
#endif