diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2015-10-19 15:37:26 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2015-10-19 15:37:26 +0300 |
commit | 6c6e567eb34ad0f5a3bd90f6585c521543106401 (patch) | |
tree | 7f8dc62f12dd2b720ffdc738d393cd1a8f82921c /doc/examples/io2.c | |
parent | 7421ae696c1ef2fb48adc73ba8564ef2f276d618 (diff) | |
parent | 218d404f34d79a8837f9c0230dd9d9f1180b4068 (diff) | |
download | libxml2-pristine-tar.tar.gz |
Merge branch 'pristine-tar' of git://anonscm.debian.org/debian-xml-sgml/libxml2 into pristine-tarpristine-tar
Diffstat (limited to 'doc/examples/io2.c')
-rw-r--r-- | doc/examples/io2.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/doc/examples/io2.c b/doc/examples/io2.c new file mode 100644 index 0000000..4676f4a --- /dev/null +++ b/doc/examples/io2.c @@ -0,0 +1,58 @@ +/** + * section: InputOutput + * synopsis: Output to char buffer + * purpose: Demonstrate the use of xmlDocDumpMemory + * to output document to a character buffer + * usage: io2 + * test: io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res + * author: John Fleck + * copy: see Copyright for the status of this software. + */ + +#include <libxml/parser.h> + +#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) +int +main(void) +{ + + xmlNodePtr n; + xmlDocPtr doc; + xmlChar *xmlbuff; + int buffersize; + + /* + * Create the document. + */ + doc = xmlNewDoc(BAD_CAST "1.0"); + n = xmlNewNode(NULL, BAD_CAST "root"); + xmlNodeSetContent(n, BAD_CAST "content"); + xmlDocSetRootElement(doc, n); + + /* + * Dump the document to a buffer and print it + * for demonstration purposes. + */ + xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1); + printf("%s", (char *) xmlbuff); + + /* + * Free associated memory. + */ + xmlFree(xmlbuff); + xmlFreeDoc(doc); + + return (0); + +} +#else +#include <stdio.h> + +int +main(void) +{ + fprintf(stderr, + "library not configured with tree and output support\n"); + return (1); +} +#endif |