/usr/share/doc/libxml2-devel/examples
/** * section: Parsing * synopsis: Parse and validate an XML file to a tree and free the result * purpose: Create a parser context for an XML file, then parse and validate * the file, creating a tree, check the validation result * and xmlFreeDoc() to free the resulting tree. * usage: parse2 test2.xml * test: parse2 test2.xml * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include <stdio.h> #include <libxml/parser.h> #include <libxml/tree.h> /** * exampleFunc: * @filename: a filename or an URL * * Parse and validate the resource and free the resulting tree */ static void exampleFunc(const char *filename) { xmlParserCtxtPtr ctxt; /* the parser context */ xmlDocPtr doc; /* the resulting document tree */ /* create a parser context */ ctxt = xmlNewParserCtxt(); if (ctxt == NULL) { fprintf(stderr, "Failed to allocate parser context\n"); return; } /* parse the file, activating the DTD validation option */ doc = xmlCtxtReadFile(ctxt, filename, NULL, XML_PARSE_DTDVALID); /* check if parsing succeeded */ if (doc == NULL) { fprintf(stderr, "Failed to parse %s\n", filename); } else { /* check if validation succeeded */ if (ctxt->valid == 0) fprintf(stderr, "Failed to validate %s\n", filename); /* free up the resulting document */ xmlFreeDoc(doc); } /* free up the parser context */ xmlFreeParserCtxt(ctxt); } int main(int argc, char **argv) { if (argc != 2) return(1); /* * 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 exampleFunc(argv[1]); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); }
.
Edit
..
Edit
Makefile.am
Edit
Makefile.in
Edit
examples.xml
Edit
examples.xsl
Edit
index.html
Edit
index.py
Edit
io1.c
Edit
io1.res
Edit
io2.c
Edit
io2.res
Edit
parse1.c
Edit
parse2.c
Edit
parse3.c
Edit
parse4.c
Edit
reader1.c
Edit
reader1.res
Edit
reader2.c
Edit
reader3.c
Edit
reader3.res
Edit
reader4.c
Edit
reader4.res
Edit
test1.xml
Edit
test2.xml
Edit
test3.xml
Edit
testWriter.c
Edit
tree1.c
Edit
tree1.res
Edit
tree2.c
Edit
tree2.res
Edit
tst.xml
Edit
writer.xml
Edit
xpath1.c
Edit
xpath1.res
Edit
xpath2.c
Edit
xpath2.res
Edit