includekeyword.c

来自「xml开源解析代码.版本为libxml2-2.6.29,可支持GB3212.网络」· C语言 代码 · 共 80 行

C
80
字号
<![CDATA[#include <stdio.h>#include <string.h>#include <stdlib.h>#include <libxml/xmlmemory.h>#include <libxml/parser.h>voidparseStory (xmlDocPtr doc, xmlNodePtr cur) {	xmlChar *key;	cur = cur->xmlChildrenNode;	while (cur != NULL) {	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {		    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);		    printf("keyword: %s\n", key);		    xmlFree(key); 	    }	cur = cur->next;	}    return;}static voidparseDoc(char *docname) {	xmlDocPtr doc;	xmlNodePtr cur;	doc = xmlParseFile(docname);		if (doc == NULL ) {		fprintf(stderr,"Document not parsed successfully. \n");		return;	}		cur = xmlDocGetRootElement(doc);		if (cur == NULL) {		fprintf(stderr,"empty document\n");		xmlFreeDoc(doc);		return;	}		if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {		fprintf(stderr,"document of the wrong type, root node != story");		xmlFreeDoc(doc);		return;	}		cur = cur->xmlChildrenNode;	while (cur != NULL) {		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){			parseStory (doc, cur);		}		 	cur = cur->next;	}		xmlFreeDoc(doc);	return;}intmain(int argc, char **argv) {	char *docname;			if (argc <= 1) {		printf("Usage: %s docname\n", argv[0]);		return(0);	}	docname = argv[1];	parseDoc (docname);	return (1);}]]>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?