Source Code File 05-04_allnodes2
05-04_allnodes2.c
#include <stdio.h> #include <stdlib.h> #include <libxml/parser.h> static void dump_elements(xmlNodePtr n,int i) { xmlNodePtr node; int x; for( node=n; node; node=node->next ) { if( node->type==XML_ELEMENT_NODE ) { for( x=0; x<i; x++ ) putchar('\t'); printf("%s\n",node->name); } if( node->children ) dump_elements(node->children,i+1); } } int main() { const char filename[] = "sample.xml"; xmlDocPtr doc; xmlNodePtr root; doc = xmlParseFile(filename); if( doc==NULL ) { fprintf(stderr,"Unable to open %s\n",filename); exit(1); } root = xmlDocGetRootElement(doc); dump_elements(root,0); xmlFreeDoc(doc); return(0); }
Output
character
firstName
middleName
lastName
address
street
city
state
zip
isCartoon
IQ
phone
phone
assistant
Copyright © 1997-2024 by QPBC.
All rights reserved