#include <stdio.h> #include <libxml/xmlreader.h> int main(int argc, char **argv) { if(argc != 2) return (0); const char *fileName = argv[1]; xmlTextReaderPtr reader; reader = xmlReaderForFile(fileName, NULL, 0); const char *temp; int i; while(xmlTextReaderRead(reader)) { switch(xmlTextReaderNodeType(reader)) { case XML_READER_TYPE_ELEMENT: for(i = 0 ; i < xmlTextReaderDepth(reader) ; i++) printf("\t"); temp = (char *)xmlTextReaderConstName(reader); printf("Element: %s", temp); while(xmlTextReaderMoveToNextAttribute(reader)) { temp = (char *)xmlTextReaderConstName(reader); printf(" %s", temp); temp = (char *)xmlTextReaderConstValue(reader); printf("=\"%s\"", temp); } xmlTextReaderMoveToElement(reader); printf("\n"); continue; case XML_READER_TYPE_TEXT: temp = (char *)xmlTextReaderConstValue(reader); for(i = 0 ; i < xmlTextReaderDepth(reader) ; i++) printf("\t"); printf("\t%s", temp); printf("\n"); continue; } } xmlFreeTextReader(reader); xmlCleanupParser(); return 0; }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)