File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / doc / examples / parse3.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:37:59 2012 UTC (12 years, 4 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, v2_8_0p0, v2_8_0, v2_7_8, HEAD
libxml2

    1: /**
    2:  * section: Parsing
    3:  * synopsis: Parse an XML document in memory to a tree and free it
    4:  * purpose: Demonstrate the use of xmlReadMemory() to read an XML file
    5:  *          into a tree and and xmlFreeDoc() to free the resulting tree
    6:  * usage: parse3
    7:  * test: parse3
    8:  * author: Daniel Veillard
    9:  * copy: see Copyright for the status of this software.
   10:  */
   11: 
   12: #include <stdio.h>
   13: #include <libxml/parser.h>
   14: #include <libxml/tree.h>
   15: 
   16: static const char *document = "<doc/>";
   17: 
   18: /**
   19:  * example3Func:
   20:  * @content: the content of the document
   21:  * @length: the length in bytes
   22:  *
   23:  * Parse the in memory document and free the resulting tree
   24:  */
   25: static void
   26: example3Func(const char *content, int length) {
   27:     xmlDocPtr doc; /* the resulting document tree */
   28: 
   29:     /*
   30:      * The document being in memory, it have no base per RFC 2396,
   31:      * and the "noname.xml" argument will serve as its base.
   32:      */
   33:     doc = xmlReadMemory(content, length, "noname.xml", NULL, 0);
   34:     if (doc == NULL) {
   35:         fprintf(stderr, "Failed to parse document\n");
   36: 	return;
   37:     }
   38:     xmlFreeDoc(doc);
   39: }
   40: 
   41: int main(void) {
   42:     /*
   43:      * this initialize the library and check potential ABI mismatches
   44:      * between the version it was compiled for and the actual shared
   45:      * library used.
   46:      */
   47:     LIBXML_TEST_VERSION
   48: 
   49:     example3Func(document, 6);
   50: 
   51:     /*
   52:      * Cleanup function for the XML library.
   53:      */
   54:     xmlCleanupParser();
   55:     /*
   56:      * this is to debug memory for regression tests
   57:      */
   58:     xmlMemoryDump();
   59:     return(0);
   60: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>