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-2025 by QPBC.
All rights reserved
