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/parse3.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/parse3.c')
-rw-r--r-- | doc/examples/parse3.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/doc/examples/parse3.c b/doc/examples/parse3.c new file mode 100644 index 0000000..a2d3a40 --- /dev/null +++ b/doc/examples/parse3.c @@ -0,0 +1,60 @@ +/** + * section: Parsing + * synopsis: Parse an XML document in memory to a tree and free it + * purpose: Demonstrate the use of xmlReadMemory() to read an XML file + * into a tree and and xmlFreeDoc() to free the resulting tree + * usage: parse3 + * test: parse3 + * author: Daniel Veillard + * copy: see Copyright for the status of this software. + */ + +#include <stdio.h> +#include <libxml/parser.h> +#include <libxml/tree.h> + +static const char *document = "<doc/>"; + +/** + * example3Func: + * @content: the content of the document + * @length: the length in bytes + * + * Parse the in memory document and free the resulting tree + */ +static void +example3Func(const char *content, int length) { + xmlDocPtr doc; /* the resulting document tree */ + + /* + * The document being in memory, it have no base per RFC 2396, + * and the "noname.xml" argument will serve as its base. + */ + doc = xmlReadMemory(content, length, "noname.xml", NULL, 0); + if (doc == NULL) { + fprintf(stderr, "Failed to parse document\n"); + return; + } + xmlFreeDoc(doc); +} + +int main(void) { + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + example3Func(document, 6); + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} |