資源簡介
純C語言解析xml字符串,有實例,保證可用,含makefile xmlparse.c xmlparse.h testxml.c
目錄:/export/home/chcard/testxml
日志:/export/home/chcard/log
testxml.c 是一個測試用例,包含了常用的方法,并有注解
在使用時請保留作者名稱
編譯測試用例方法:gcc -o testxml testxml.c libxmlparse.a
運行時可輸入:testxml
可在/export/home/chcard/log中的.log文件中看到輸出的XML內容
路徑以實際應用為準

代碼片段和文件信息
#include?
#include?
#include?
#include?“xmlparse.h“
main()
{
char??xmlstr[2048]xmlstr2[2048];
XTREE?*xTree;
int?rd_intpr_intmod_intfr_int;
XNODE?*xNode;
XSTRING?*xStr*NewxStr;
char?pNodeName[1024]NodeName[1024]aa[1024];
printf(“1\n“);
rd_int?=?0;
pr_int?=?0?;
mod_int?=?0;
fr_int?=?0;
memset(xmlstr0x00sizeof(xmlstr));
memset(xmlstr20x00sizeof(xmlstr2));
memset(pNodeName0x00sizeof(pNodeName));
memset(NodeName0x00sizeof(NodeName));
memset(aa0x00sizeof(aa));
xTree=(XTREE?*)malloc(sizeof(XTREE));
xNode=(XNODE?*)malloc(sizeof(XNODE));
xStr=(XSTRING?*)malloc(sizeof(XSTRING));
NewxStr=(XSTRING?*)malloc(sizeof(XSTRING));
printf(“2\n“);
strcpy(xmlstr“l?version=‘1.0‘?encoding=‘UTF-8‘?>1aa 2bb 3cc 4dd 5ee 6ff 7gg “);
printf(“3\n“);
printf(“xmlstr=[%s]\n“xmlstr);
rd_int?=?xmlParseRead(xmlstr?152?xTree);
printf(“4\n“);
printf(“rd_int=[%d]“rd_int);
printf(“\n“);
printf(“eeeeeeeeeeeeeeeeeeeeeee\n“);
printf(“xTree->nodeCount=[%d]“xTree->nodeCount);
pr_int?=?printXtree(xTree);
printf(“pr_int=[%d]“pr_int);
printf(“\n“);
??printf(“-------------------------------------根據結點名稱得到結點值---------------------------------------------\n“);
??
??strcpy(pNodeName“yxf“);
??strcpy(NodeName“dd“);
??xNode?=?xmlGetNode(xTree?pNodeName?NodeName);
??
??printf(“7-1\n“);
??
??printf(“xNode->level=[%d]\n“xNode->level);
??
??printf(“7-2\n“);
??
??printf(“xNode->data.text=[%s]\n“xNode->data.text);
??
??printf(“7-3\n“);
??
??printf(“-------------------------------------修改結點值---------------------------------------------------------\n“);
??
??NewxStr->text?=?“yyyxxxfff“;
??NewxStr->len?=?9;
??mod_int?=?XElementData(xTree??NewxStr);
??
??printf(“7-4\n“);
??
??printf(“mod_int=[%d]\n“mod_int);
??
??pr_int?=?printXtree(xTree);
??
??
??printf(“7-5\n“);
??
??
??printf(“-------------------------------------釋放結點??---------------------------------------------------------\n“);
??
??fr_int?=?xmlParseFree(xTree);
??
??
??printf(“fr_int=[%d]\n“fr_int);
??
??printf(“-------------------------------------循環體結點取值-----------------------------------------------------\n“);
??
??xTree=(XTREE?*)malloc(sizeof(XTREE));
xNode=(XNODE?*)malloc(sizeof(XNODE));
??memset(pNodeName0x00sizeof(pNodeName));
memset(NodeName0x00sizeof(NodeName));
??
??strcpy(xmlstr2“l?version=‘1.0‘?encoding=‘UTF-8‘?>user1 meter1 |
user2 meter2 |
user3 meter3 |
“);
??
??printf(“xmlstr2=[%s]\n“xmlstr2);
xmlParseRead(xmlstr2?229?xTree);
printXtree(xTree);
strcpy(pNodeName“Result“);
??strcpy(NodeName“Row“);
??xNode?=?xmlGetNode(xTree?pNodeName?NodeName)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????16216??2013-01-15?16:56??c-xm
?????文件????????423??2013-01-15?16:56??c-xm
?????文件??????22948??2013-01-15?16:56??c-xm
?????文件???????3111??2013-01-15?16:56??c-xm
?????文件??????17797??2013-01-15?16:56??c-xm
?????文件???????3008??2013-01-15?17:17??c-xm
?????文件??????15576??2013-01-15?16:56??c-xm
?????文件????????401??2013-01-15?17:26??c-xm
?????目錄??????????0??2013-01-15?17:21??c-xm
-----------?---------??----------?-----??----
????????????????79480????????????????????9
- 上一篇:內存讀寫驅動的源碼(C++)
- 下一篇:knn算法實現C++
評論
共有 條評論