N_Shadow19
Membro
Boas,
Tenho o seguinte ficheiro xml
<ficheiro>
<nome>Nome</nome>
<numero>12</numero>
</ficheiro>
Como consigo fazer com que o "Nome" fique armazenado numa variavel?
Tenho a seguinte função:
(os nomes são vectores dinâmicos passados desde a main)
void ler_ficheiro(char *nome_fich, char **nome)
{
int estado=0;
char linha[100];
fp=fopen(nome_fich, "r");
do {
fgets (linha, 100, fp);
if (estado==1)
if (strstr(linha, "<nome>")!=NULL) {
??????
estado=2;
}
if (estado==0)
if (strstr(linha, "<ficheiro>")!=NULL)
estado=1;
}
Ao passar para o estado 1 o programa deverá verificar se existe a etiqueta <nome> e ler e armazenar o dado "Nome". Mas como ler apenas o que está no interior das etiquetas? Sendo que o sscanf não funciona pois o nome pode conter espaços, como fazer?
Agradecia ajuda o mais depressa possivel, obrigado!
Tenho o seguinte ficheiro xml
<ficheiro>
<nome>Nome</nome>
<numero>12</numero>
</ficheiro>
Como consigo fazer com que o "Nome" fique armazenado numa variavel?
Tenho a seguinte função:
(os nomes são vectores dinâmicos passados desde a main)
void ler_ficheiro(char *nome_fich, char **nome)
{
int estado=0;
char linha[100];
fp=fopen(nome_fich, "r");
do {
fgets (linha, 100, fp);
if (estado==1)
if (strstr(linha, "<nome>")!=NULL) {
??????
estado=2;
}
if (estado==0)
if (strstr(linha, "<ficheiro>")!=NULL)
estado=1;
}
Ao passar para o estado 1 o programa deverá verificar se existe a etiqueta <nome> e ler e armazenar o dado "Nome". Mas como ler apenas o que está no interior das etiquetas? Sendo que o sscanf não funciona pois o nome pode conter espaços, como fazer?
Agradecia ajuda o mais depressa possivel, obrigado!