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



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts