您的位置:首页 > 其它

Vc中解析XML文件操作

2012-05-09 10:54 302 查看
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

将相应的文件名包含在其中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: