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]);