Continuando programas tipo file, hoje vamos aprender a fazer um XML ( Extensible Modeling Language ) pode ser definida como uma linguagem de marcação de dados extensível - ao contrário do HTML que foi projetada para permitir o uso do SGML ( Standard Generalized Markup Language ) na World Wide Web. Ela provê um formato para descrever dados estruturados que facilita declarações mais precisas do conteúdo. Pra quem está babando no que eu estou dizendo veja:
![]() |
| exemplo xml |
A técnica será montar o cabeçalho do xml que lembra muito a estrutura do html com abre e fechar de tags
<?xml version="1.0"?>
<pessoa>
</nome>jose </nome>
</telefone>3232-00001 </telefone>
</pessoa>
#include <stdio.h>
#include <conio.h>
#include<string.h>
#include<stdlib.h>
/*
**programa feito por gabriel arroyo
*/
struct endereco{
char nome[30];
char rua[40];
char cidade[30];
char cep[10];
};
struct endereco info_end[3];
/*Pra quem está com dúvidas sobre struct veja o file01 que está tudo bem explicado*/
main(){
FILE *p;
char opcao='s';
int i=0;
p=fopen("shopping.xml","w"); //criação de arquivo para gravar
fputs("<?xml version=\"1.0\"?>",p);
fputs("<cadastro>",p);
while(opcao!='n'){
getchar();
fputs("<cliente>",p);
printf("Digite o nome a ser inserido.:");
gets(info_end[i].nome);
fprintf(p,"<nome> %s </nome>",info_end[i].nome); // usamos fprintf porque queremos enviar valor em variavel
printf("Digite o endereco do cliente.:");
gets(info_end[i].rua);
fprintf(p,"<endereco> %s </endereco>",info_end[i].rua);
printf("Digite o nome da cidade.:");
gets(info_end[i].cidade);
fprintf(p,"<cidade> %s </cidade>",info_end[i].cidade);
printf("Digite o CEP da cidade.:");
gets(info_end[i].cep);
fprintf(p,"<cep> %s </cep>",info_end[i].cep);
fputs("</cliente>",p);
printf("\n\t Cadastro realizado com sucesso! \n\t Deseja Continuar cadastrando?(S/N)");
scanf(" %c",&opcao);
system("cls");
i++;
} //fim while
fputs("</cadastro>",p);
fclose(p); //fechando o arquivo
/*OBS: Todos programas foram feitos em plataforma windows no dev c++ para baixá-lo vá até a guia downloads.*/


Nenhum comentário:
Postar um comentário