#include <libxml/xmlreader.h>
void processNode(xmlTextReaderPtr);
int streamFile(char*);
int main(int argc, char *argv[]) {
streamFile(argv[1]);
}
void processNode(xmlTextReaderPtr reader) {
/* handling of a node in the tree */
}
int streamFile(char *filename) {
xmlTextReaderPtr reader = xmlNewTextReaderFilename(filename);
if (reader != NULL) {
int ret = xmlTextReaderRead(reader);
while (ret == 1) {
processNode(reader);
ret = xmlTextReaderRead(reader);
}
xmlFreeTextReader(reader);
if (ret != 0) printf("%s : failed to parse\n", filename);
} else printf("Unable to open %s\n", filename);
}