Return to parse3.c CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / doc / examples |
1.1 ! misho 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: }