PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB` REDROOM
PHP 5.6.40
Preview: reader4.c Size: 3.05 KB
/usr/share/doc/libxml2-devel/examples/reader4.c

/**
 * section: xmlReader
 * synopsis: Parse multiple XML files reusing an xmlReader
 * purpose: Demonstrate the use of xmlReaderForFile() and
 * xmlReaderNewFile to parse XML files while reusing the reader object
 * and parser context.  (Note that the XMLReader functions require
 * libxml2 version later than 2.6.)
 * usage: reader4 <filename> [ filename ... ]
 * test: reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
 * author: Graham Bennett
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#ifdef LIBXML_READER_ENABLED

static void processDoc(xmlTextReaderPtr readerPtr) {
    int ret;
    xmlDocPtr docPtr;
    const xmlChar *URL;

    ret = xmlTextReaderRead(readerPtr);
    while (ret == 1) {
      ret = xmlTextReaderRead(readerPtr);
    }

    /*
     * One can obtain the document pointer to get insteresting
     * information about the document like the URL, but one must also
     * be sure to clean it up at the end (see below).
     */
    docPtr = xmlTextReaderCurrentDoc(readerPtr);
    if (NULL == docPtr) {
      fprintf(stderr, "failed to obtain document\n");      
      return;
    }
      
    URL = docPtr->URL;
    if (NULL == URL) {
      fprintf(stderr, "Failed to obtain URL\n");      
    }

    if (ret != 0) {
      fprintf(stderr, "%s: Failed to parse\n", URL);
      return;
    }

    printf("%s: Processed ok\n", (const char *)URL);
}

int main(int argc, char **argv) {
    xmlTextReaderPtr readerPtr;
    int i;
    xmlDocPtr docPtr;

    if (argc < 2)
        return(1);

    /*
     * this initialises the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*
     * Create a new reader for the first file and process the
     * document.
     */
    readerPtr = xmlReaderForFile(argv[1], NULL, 0);
    if (NULL == readerPtr) {
      fprintf(stderr, "%s: failed to create reader\n", argv[1]);      
      return(1);
    }
    processDoc(readerPtr);

    /*
     * The reader can be reused for subsequent files.
     */
    for (i=2; i < argc; ++i) {
      	xmlReaderNewFile(readerPtr, argv[i], NULL, 0);
	if (NULL == readerPtr) {
	  fprintf(stderr, "%s: failed to create reader\n", argv[i]);      
	  return(1);
	}
        processDoc(readerPtr);
    }

    /*
     * Since we've called xmlTextReaderCurrentDoc, we now have to
     * clean up after ourselves.  We only have to do this the last
     * time, because xmlReaderNewFile calls xmlCtxtReset which takes
     * care of it.
     */
    docPtr = xmlTextReaderCurrentDoc(readerPtr);
    if (docPtr != NULL)
      xmlFreeDoc(docPtr);

    /*
     * Clean up the reader.
     */
    xmlFreeTextReader(readerPtr);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "xmlReader support not compiled in\n");
    exit(1);
}
#endif

Directory Contents

Dirs: 0 × Files: 35

Name Size Perms Modified Actions
31.40 KB lrw-r--r-- 2017-07-23 05:10:06
Edit Download
7.06 KB lrw-r--r-- 2009-07-30 15:24:34
Edit Download
32.15 KB lrw-r--r-- 2017-08-28 18:29:54
Edit Download
8.99 KB lrw-r--r-- 2017-07-23 05:10:06
Edit Download
3.67 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
165 B lrw-r--r-- 2016-06-07 05:26:59
Edit Download
1.15 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
43 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
4.00 KB lrw-r--r-- 2017-07-23 05:10:06
Edit Download
32.53 KB lrw-r--r-- 2017-11-02 20:16:49
Edit Download
1.27 KB lrw-r--r-- 2009-07-30 15:24:34
Edit Download
1.92 KB lrw-r--r-- 2009-07-30 15:24:34
Edit Download
1.47 KB lrw-r--r-- 2009-07-30 15:24:34
Edit Download
3.46 KB lrw-r--r-- 2014-10-16 04:13:17
Edit Download
2.47 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
149 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
3.06 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
2.88 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
360 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
3.05 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
72 B lrw-r--r-- 2012-08-17 01:10:30
Edit Download
7 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
227 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
833 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
37.60 KB lrw-r--r-- 2017-07-23 05:10:06
Edit Download
2.19 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
121 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
3.33 KB lrw-r--r-- 2016-11-07 08:41:40
Edit Download
453 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
91 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
544 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
6.47 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
114 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download
5.21 KB lrw-r--r-- 2016-06-07 10:04:14
Edit Download
757 B lrw-r--r-- 2009-07-30 15:24:34
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 REDROOM — Secure File Manager. All rights reserved. Built with ❤️ & Red Dark UI