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

 

将相应的文件名包含在其中。

 

posted on 2012-05-09 10:54  xshbokeyuan  阅读(492)  评论(0编辑  收藏  举报