5 #include <libxml/xmlmemory.h>
6 #include <libxml/parser.h>
9 parseStory (xmlDocPtr doc, xmlNodePtr cur) {
12 cur = cur->xmlChildrenNode;
14 if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {
15 key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
16 printf("keyword: %s\n", key);
25 parseDoc(char *docname) {
30 doc = xmlParseFile(docname);
33 fprintf(stderr,"Document not parsed successfully. \n");
37 cur = xmlDocGetRootElement(doc);
40 fprintf(stderr,"empty document\n");
45 if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
46 fprintf(stderr,"document of the wrong type, root node != story");
51 cur = cur->xmlChildrenNode;
53 if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
54 parseStory (doc, cur);
65 main(int argc, char **argv) {
70 printf("Usage: %s docname\n", argv[0]);