PATH:
usr
/
share
/
doc
/
libxml2-devel-2.9.1
/
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 suceeded */ if (doc == NULL) { fprintf(stderr, "Failed to parse %s\n", filename); } else { /* check if validation suceeded */ 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); }
[-] writer.xml
[edit]
[-] io1.res
[edit]
[-] reader1.c
[edit]
[-] xpath1.c
[edit]
[-] tree2.res
[edit]
[-] parse3.c
[edit]
[+]
..
[-] reader3.c
[edit]
[-] index.html
[edit]
[-] xpath2.c
[edit]
[-] reader4.res
[edit]
[-] parse1.c
[edit]
[-] reader3.res
[edit]
[-] reader1.res
[edit]
[-] tree1.res
[edit]
[-] tree1.c
[edit]
[-] xpath1.res
[edit]
[-] examples.xml
[edit]
[-] reader2.c
[edit]
[-] index.py
[edit]
[-] test3.xml
[edit]
[-] io2.c
[edit]
[-] xpath2.res
[edit]
[-] reader4.c
[edit]
[-] testWriter.c
[edit]
[-] parse2.c
[edit]
[-] parse4.c
[edit]
[-] tree2.c
[edit]
[-] Makefile.am
[edit]
[-] Makefile.in
[edit]
[-] tst.xml
[edit]
[-] io2.res
[edit]
[-] io1.c
[edit]
[-] test1.xml
[edit]
[-] examples.xsl
[edit]
[-] test2.xml
[edit]