Vc中解析XML文件操作
Vc中复制文件从一个目录到另一个目录调用函数CopyFile(),具体使用参看相应的API
解析文件中某一节点下的值操作为:
判断文件有无存在,代码为:
FILE *fp =NULL;
TCHAR tFileNam[MAX_PATH];
_stprintf(tFileName,_T("%s\\xxx.xml"),g_AppPath);
fp = _tfopen(tFileName,_T("r"))
接着为循环查找节点操作
do
{
if(NULL == fp)
{
break;
}
char buf[256] = {0};
char *p =NULL;
char *q = NULL;
char aType[][40] = { "<xx>", //需要找到的节点,为头节点
" <xx> "
}
char bType[][40] ={
"</xx>", //需要找到的节点,为尾节点
" </xx> "
}
const char *tmp = aType[type]; //其中type 为传入的参数,为查找节点索引
int len = strlen(tmp);
char *src =NULL;
while((fgets(buf,256,fp)) != NULL)
{
p = strstr(buf,temp); //查找在buf中是否存在
if(NULL = p)
{
continue;
}
q = strstr(buf,bType[type]);
if(NULL = q)
{
continue;
}
strncpy(src, p + len, q - p -len);
break;
}
}
至此,基本流程完成。
需要注意的是解析用在Vc中,有用到一些c的基本函数与类型,所以头文件中需要定义
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
将相应的文件名包含在其中。