Parser XML em C

1. Parser XML em C

Ricardo
ricardo13

(usa Fedora)

Enviado em 02/04/2009 - 17:42h

olá pessoal,

Sou novo em Linux e queria saber se existe uma biblioteca em C para desenvolver um parser XML.

Eu dei uma lida na Internet e vi o libxml2 (mas naum sei é uma biblioteca para parsear XML, acredito q sim).
Alguém conhece outro ?? ou o libxml2 é para isso msm ???

Pq estou rodando um exemplo de programa em C q peguei nesse site: http://xmlsoft.org/examples/tree1.c
E estou tendo erros na compilação:

"gcc: xmlconfig --cflags --libs: No such file or directory
libxml-example.c:13:27: error: libxml/parser.h: No such file or directory
libxml-example.c:14:25: error: libxml/tree.h: No such file or directory
libxml-example.c: In function ‘main’:
libxml-example.c:92: warning: incompatible implicit declaration of built-in function ‘exit’"

acredito q naum esteja encontrando a biblioteca libxml .....

Muito Obrigado

Ricardo




  


2. Re: Parser XML em C

Rodrigo Chaves
stilldre

(usa Funtoo)

Enviado em 02/04/2009 - 17:46h

sim o libxml2 é pra isso mesmo... ele vai te dar as libs que o exemplo que vc esta utilizando necessita... ^^


3. Re: Parser XML em C

Ricardo
ricardo13

(usa Fedora)

Enviado em 02/04/2009 - 17:47h

Então pq ocorre akeles erros ??
Pelo jeito, o compilador não está encontrando a biblioteca !!

Muito Obrigado

Ricardo


4. Re: Parser XML em C

Eduardo
bolche

(usa Ubuntu)

Enviado em 02/04/2009 - 18:06h

troque xmlconfig por xml2-config
Explicação: é muito comum algumas bibliotecas usarem programas que dão quais as opções que se tem que passar para o compilador. Antigamente, no caso do libxml2 se usava o xmlconfig. Hoje se usa o xml2-config.
Então ao rodar xml2-config --cflags --libs, ele dá o que você precisa colocar.
No seu exemplo provavelmente se usa isso. É só colocar o programa certo.
Flw


5. Re: Parser XML em C

Eduardo
bolche

(usa Ubuntu)

Enviado em 02/04/2009 - 18:07h

Alias, no exemplo está escrito:
/*
*To compile this file using gcc you can type
*gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c
*/
Se você usou esse comando e não funcionou, você não tem o libxml2 instalado


6. Re: Parser XML em C

Rodrigo Chaves
stilldre

(usa Funtoo)

Enviado em 02/04/2009 - 18:08h

instale o pacote libxml2, ele vai te dar os cabeçalhos que seu exemplo necessita, que são libxml/tree.h e libxml/parser.h


7. Re: Parser XML em C

Ricardo
ricardo13

(usa Fedora)

Enviado em 02/04/2009 - 18:17h

olá,

Pior que eu executei como está no arquivo: gcc 'xml2-config --cflags --libs' -o blabla libexample.c
e deu o msm erro !!!

eu dei o comando yum install libxml2 e me disse que já estava instalado !!!

e agora ??

Muito Obrigado
Ricardo


8. Re: Parser XML em C

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 02/04/2009 - 18:21h

só uma coisa: não é aspa simples ' e sim crase `

gcc `xml2-config --cflags --libs` -o blabla libexample.c



9. Re: Parser XML em C

Ricardo
ricardo13

(usa Fedora)

Enviado em 02/04/2009 - 18:25h

Legal !!!

Rodou:
Prompt: gcc `xml2-config --cflags --lib` -o xmlexample libxml-example.c e dai apareceu:

"gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."

Mas o arquivo xmlexample não apareceu !!!
Porque ??

Muito Obrigado
Ricardo



10. Por Favor

Ricardo
ricardo13

(usa Fedora)

Enviado em 03/04/2009 - 09:59h

olá pessoal !!!

deem uma olhada no post acima !!!!

Muito Obrigado

Ricardo


11. Re: Parser XML em C

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 03/04/2009 - 11:52h

mas peraí... se você está usando o fonte do exemplo de seu primeiro post, não seria tree1.c? nesse caso, para compilar seria:
$ gcc `xml2-config --cflags --libs` -o xmlexample tree1.c

não deve aparecer aquelas informações de about do gcc.

isso gerará o executável xmlexample que, observando o código, irá requerer como argumento o nome do arquivo xml que você deseja destrinchar. algo como:

$ xmlexample /home/usuario/meuxml.xml


12. Re: Parser XML em C

Ricardo
ricardo13

(usa Fedora)

Enviado em 04/04/2009 - 11:16h

olá !!!

eu troquei o nome do arquivo para libxml-example !!!

quando eu compilo aparece essa frase:
gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

mas naum aparece um arquivo executável !!! oq pode estar acontecendo ??

Ricardo



01 02