//组装xml报文写入文件,读取另一个文件中的证件号 ,批量开户报文,C语言版
#include <stdio.h>
#include <string.h>
#define maxsize 30
int main(int argc, char* argv[])
{
char buf[maxsize];
memset(buf, 0, maxsize);
int count = atoi(argv[1]);
int i;
int j = 0;
//写入报文头
FILE *fp = fopen("PU008.xml", "w+");
if(fp == NULL)
{
printf("open error!\n");
return 0;
}
fprintf(fp, "<Transaction>\n \
<Transaction_Header>\n \
.......此处省略\n \
<OPEN_COUNT>%d</OPEN_COUNT>\n", count);
fclose(fp);
//写入报文体
for(i = 0; i < count; i++)
{
FILE *ap = fopen("b.txt", "r");
while(fgets(buf, maxsize, ap) != NULL && j < count)
{
//printf("buf = %s", buf);
buf[strlen(buf) - 1] = '\0';
FILE *bp = fopen("PU008.xml", "a+");
fprinf(bp, "<GRP_CUST_INFO>\n \
<CERT_TYPE>1</CERT_TYPE>\n \
<CERT_NO>%s</CERT_NO>\n", buf);
fclose(bp);
j++;
memset(buf, 0, sizeof(buf));
}
fclose(ap);
}
//写入结尾
FILE *cp = fopen("PU008.xml", "a+");
fprintf(cp, "%s", "</request>\n \
</Transaction_Body>\n \
</Transaction>");
fclose(cp);
return 0;
}