flip Posted December 27, 2007 at 05:22 PM Report Share #156664 Posted December 27, 2007 at 05:22 PM Boas. Alguem me sabe dizer como se faz para ler cenas de um ficheiro xml? Arranjei este bocado de codigo mas nao o consigo perceber: while (fgets(s, 90, fp)!=NULL) { if (strstr(s, wrd)!=NULL) { fgets(s,90,fp) s1=strch(s,'>') sscanf(s1,"%d",&s[count].codigo) fgets(s,90,fp) s1=strch(s,'>') sscanf(s1,"%d",&s[count].num_acessos) fgets(s,90,fp) s1=strch(s,'>') sscanf(s1,"%d",&s[11].data) } count++; } E depois como e que chamo essa funcao no main? Link to comment Share on other sites More sharing options...
Rui Carlos Posted December 27, 2007 at 05:31 PM Report Share #156669 Posted December 27, 2007 at 05:31 PM Talvez o melhor seja procurares um biblioteca para processar XML. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
flip Posted December 27, 2007 at 05:36 PM Author Report Share #156670 Posted December 27, 2007 at 05:36 PM Tive aqui a ver e pareceme que com isto é possível ler o ficheiro: void le_ficheiro(FORNECE) { char s[90]; char *wrd="fornecedores\0"; char *s1; FILE *fp; fp = fopen("pos_bd.xml", "r"); if (fp==NULL) printf("Impossivel abrir o ficheiro pos_bd.xml\n"); while (fgets(s, 90, fp)!=NULL) { if (strstr(s,wrd)!=NULL) { fgets(s,90,fp); s1=strchr(s,'>'); sscanf(s1,"%d",&x.id); fgets(s,90,fp); s1=strchr(s,'>'); sscanf(s1,"%c",&x.nome[51]); fgets(s,90,fp); s1=strchr(s,'>'); sscanf(s1,"%d",&x.n_cont); } } } Mas ainda nao percebi como chamo esta funcao no main... será ler_ficheiro("qualquer coisa")... Link to comment Share on other sites More sharing options...
flip Posted December 27, 2007 at 06:26 PM Author Report Share #156687 Posted December 27, 2007 at 06:26 PM alguem me sabe ajudar...sff? Como ek chamo a funcao no main? obrigado desde ja.. Link to comment Share on other sites More sharing options...
TheDark Posted December 28, 2007 at 02:05 PM Report Share #156803 Posted December 28, 2007 at 02:05 PM Se não sabes como chamar funções em C, devias ler uns tutoriais antes de tentares avançar na linguagem. Falta-te o tipo do parâmetro FORNECE (a menos que seja uma macro do pré-processador). Mas também não estás a utilizar FORNECE no código da função, por isso o melhor talvez seja retirares o argumento de lá. Depois, para chamares a função é só fazeres le_ficheiro(); Mas francamente não me parece que essa função te resolva o problema... Desaparecido. Link to comment Share on other sites More sharing options...
falco Posted December 28, 2007 at 02:20 PM Report Share #156809 Posted December 28, 2007 at 02:20 PM Porque não usar a libxml? Link to comment Share on other sites More sharing options...
TheDark Posted December 28, 2007 at 02:52 PM Report Share #156816 Posted December 28, 2007 at 02:52 PM Porque ele não sabe como chamar uma função. E se for um trabalho escolar pode fazer parte do mesmo ler e interpretar o XML. Desaparecido. Link to comment Share on other sites More sharing options...
MarGera Posted January 2, 2008 at 03:14 PM Report Share #157410 Posted January 2, 2008 at 03:14 PM Boas, também estou a fazer esse projecto e temos mesmo que ler e interpretar o xml, não podemos usar processadores. Pois eu também estou com duvidas em inserir para lá os dados. Fiz as estruturas o malloc para guardar a memória para a estrutura, mas agora não faço ideia como inserir os dados no ficheiro xml. Obrigado e cumps Link to comment Share on other sites More sharing options...
TheDark Posted January 2, 2008 at 04:44 PM Report Share #157433 Posted January 2, 2008 at 04:44 PM Não sei como tens a estrutura definida, mas basicamente será fazeres uma função que receba um apontador para uma estrutura e escreva um caracter '<', o nome, os atributos e respectivos valores, e caso não haja conteúdo (leia-se outros elementos dentro do próprio elemento, ou texto), escreve "/>"; caso tenha conteúdo, escreve '>', chama-se a ela própria novamente (recursivamente) para cada um dos conteúdos e finalmente escreve "</", o nome do elemento e '>'. Depois é só chamar a função passando-lhe o elemento mais exterior que o XML será todo escrito. Desaparecido. Link to comment Share on other sites More sharing options...
greed Posted January 2, 2008 at 04:47 PM Report Share #157436 Posted January 2, 2008 at 04:47 PM É o trabalho deste ano da cadeira de programação de Electro....sinceramente...podiam esforçar-se em x de virem para aqui pedinchar! EDIT: o FORNECE já ias ver uns tutoriais de C antes de te atirares ao projecto. -- @pcbo Link to comment Share on other sites More sharing options...
TheDark Posted January 2, 2008 at 05:59 PM Report Share #157454 Posted January 2, 2008 at 05:59 PM O pessoal de electrónica e afins não costuma gostar muito de programação :😉 Desaparecido. Link to comment Share on other sites More sharing options...
greed Posted January 2, 2008 at 07:29 PM Report Share #157479 Posted January 2, 2008 at 07:29 PM O pessoal de electrónica e afins não costuma gostar muito de programação :😉 E muitas vezes nem se esforça! (digo isto por ter ajudado um que tinha dúvidas de C pa...READ THE FU**ING TUTORIAL!) -- @pcbo Link to comment Share on other sites More sharing options...
falco Posted January 9, 2008 at 09:32 AM Report Share #158811 Posted January 9, 2008 at 09:32 AM Não querias antes dizer Read This Fine Manual? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now