[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
share
/
doc
/
libxml2-devel
/
examples
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 Makefile.am
4,093 B
SET
[ EDIT ]
|
[ DEL ]
📄 Makefile.in
33,309 B
SET
[ EDIT ]
|
[ DEL ]
📄 examples.xml
32,157 B
SET
[ EDIT ]
|
[ DEL ]
📄 examples.xsl
7,232 B
SET
[ EDIT ]
|
[ DEL ]
📄 index.html
32,920 B
SET
[ EDIT ]
|
[ DEL ]
📄 index.py
9,209 B
SET
[ EDIT ]
|
[ DEL ]
📄 io1.c
3,753 B
SET
[ EDIT ]
|
[ DEL ]
📄 io1.res
165 B
SET
[ EDIT ]
|
[ DEL ]
📄 io2.c
1,182 B
SET
[ EDIT ]
|
[ DEL ]
📄 io2.res
43 B
SET
[ EDIT ]
|
[ DEL ]
📄 parse1.c
1,300 B
SET
[ EDIT ]
|
[ DEL ]
📄 parse2.c
1,967 B
SET
[ EDIT ]
|
[ DEL ]
📄 parse3.c
1,506 B
SET
[ EDIT ]
|
[ DEL ]
📄 parse4.c
3,545 B
SET
[ EDIT ]
|
[ DEL ]
📄 reader1.c
2,530 B
SET
[ EDIT ]
|
[ DEL ]
📄 reader1.res
149 B
SET
[ EDIT ]
|
[ DEL ]
📄 reader2.c
3,133 B
SET
[ EDIT ]
|
[ DEL ]
📄 reader3.c
2,947 B
SET
[ EDIT ]
|
[ DEL ]
📄 reader3.res
360 B
SET
[ EDIT ]
|
[ DEL ]
📄 reader4.c
3,128 B
SET
[ EDIT ]
|
[ DEL ]
📄 reader4.res
72 B
SET
[ EDIT ]
|
[ DEL ]
📄 test1.xml
7 B
SET
[ EDIT ]
|
[ DEL ]
📄 test2.xml
227 B
SET
[ EDIT ]
|
[ DEL ]
📄 test3.xml
833 B
SET
[ EDIT ]
|
[ DEL ]
📄 testWriter.c
38,503 B
SET
[ EDIT ]
|
[ DEL ]
📄 tree1.c
2,245 B
SET
[ EDIT ]
|
[ DEL ]
📄 tree1.res
121 B
SET
[ EDIT ]
|
[ DEL ]
📄 tree2.c
3,415 B
SET
[ EDIT ]
|
[ DEL ]
📄 tree2.res
453 B
SET
[ EDIT ]
|
[ DEL ]
📄 tst.xml
91 B
SET
[ EDIT ]
|
[ DEL ]
📄 writer.xml
544 B
SET
[ EDIT ]
|
[ DEL ]
📄 xpath1.c
6,624 B
SET
[ EDIT ]
|
[ DEL ]
📄 xpath1.res
114 B
SET
[ EDIT ]
|
[ DEL ]
📄 xpath2.c
5,330 B
SET
[ EDIT ]
|
[ DEL ]
📄 xpath2.res
757 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: parse4.c
/** * section: Parsing * synopsis: Parse an XML document chunk by chunk to a tree and free it * purpose: Demonstrate the use of xmlCreatePushParserCtxt() and * xmlParseChunk() to read an XML file progressively * into a tree and and xmlFreeDoc() to free the resulting tree * usage: parse4 test3.xml * test: parse4 test3.xml * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include <stdio.h> #include <libxml/parser.h> #include <libxml/tree.h> #ifdef LIBXML_PUSH_ENABLED static FILE *desc; /** * readPacket: * @mem: array to store the packet * @size: the packet size * * read at most @size bytes from the document and store it in @mem * * Returns the number of bytes read */ static int readPacket(char *mem, int size) { int res; res = fread(mem, 1, size, desc); return(res); } /** * example4Func: * @filename: a filename or an URL * * Parse the resource and free the resulting tree */ static void example4Func(const char *filename) { xmlParserCtxtPtr ctxt; char chars[4]; xmlDocPtr doc; /* the resulting document tree */ int res; /* * Read a few first byte to check the input used for the * encoding detection at the parser level. */ res = readPacket(chars, 4); if (res <= 0) { fprintf(stderr, "Failed to parse %s\n", filename); return; } /* * Create a progressive parsing context, the 2 first arguments * are not used since we want to build a tree and not use a SAX * parsing interface. We also pass the first bytes of the document * to allow encoding detection when creating the parser but this * is optional. */ ctxt = xmlCreatePushParserCtxt(NULL, NULL, chars, res, filename); if (ctxt == NULL) { fprintf(stderr, "Failed to create parser context !\n"); return; } /* * loop on the input getting the document data, of course 4 bytes * at a time is not realistic but allows to verify testing on small * documents. */ while ((res = readPacket(chars, 4)) > 0) { xmlParseChunk(ctxt, chars, res, 0); } /* * there is no more input, indicate the parsing is finished. */ xmlParseChunk(ctxt, chars, 0, 1); /* * collect the document back and if it was wellformed * and destroy the parser context. */ doc = ctxt->myDoc; res = ctxt->wellFormed; xmlFreeParserCtxt(ctxt); if (!res) { fprintf(stderr, "Failed to parse %s\n", filename); } /* * since we don't use the document, destroy it now. */ xmlFreeDoc(doc); } 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 /* * simulate a progressive parsing using the input file. */ desc = fopen(argv[1], "rb"); if (desc != NULL) { example4Func(argv[1]); fclose(desc); } else { fprintf(stderr, "Failed to parse %s\n", argv[1]); } /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else /* ! LIBXML_PUSH_ENABLED */ int main(int argc, char **argv) { fprintf(stderr, "Library not compiled with push parser support\n"); return(1); } #endif