资源简介
纯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++
评论
共有 条评论