includexpath.c

来自「基于s3c2410芯片的数据采集系统 目标环境:S3C2410芯片、经裁剪后的」· C语言 代码 · 共 74 行

C
74
字号
<![CDATA[#include <libxml/parser.h>#include <libxml/xpath.h>xmlDocPtrgetdoc (char *docname) {	xmlDocPtr doc;	doc = xmlParseFile(docname);		if (doc == NULL ) {		fprintf(stderr,"Document not parsed successfully. \n");		return NULL;	}	return doc;}xmlXPathObjectPtrgetnodeset (xmlDocPtr doc, xmlChar *xpath){		xmlXPathContextPtr context;	xmlXPathObjectPtr result;	context = xmlXPathNewContext(doc);	if (context == NULL) {		printf("Error in xmlXPathNewContext\n");		return NULL;	}	result = xmlXPathEvalExpression(xpath, context);	xmlXPathFreeContext(context);	if (result == NULL) {		printf("Error in xmlXPathEvalExpression\n");		return NULL;	}	if(xmlXPathNodeSetIsEmpty(result->nodesetval)){		xmlXPathFreeObject(result);                printf("No result\n");		return NULL;	}	return result;}intmain(int argc, char **argv) {	char *docname;	xmlDocPtr doc;	xmlChar *xpath = (xmlChar*) "//keyword";	xmlNodeSetPtr nodeset;	xmlXPathObjectPtr result;	int i;	xmlChar *keyword;			if (argc <= 1) {		printf("Usage: %s docname\n", argv[0]);		return(0);	}	docname = argv[1];	doc = getdoc(docname);	result = getnodeset (doc, xpath);	if (result) {		nodeset = result->nodesetval;		for (i=0; i < nodeset->nodeNr; i++) {			keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1);		printf("keyword: %s\n", keyword);		xmlFree(keyword);		}		xmlXPathFreeObject (result);	}	xmlFreeDoc(doc);	xmlCleanupParser();	return (1);}]]>

⌨️ 快捷键说明

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