Pergunta

Eu usei bastante a API StAX em Java e considero-a uma maneira bastante limpa de lidar com arquivos XML.Existe alguma biblioteca equivalente que eu possa usar para realizar processamento semelhante em C?

Foi útil?

Solução

libxml é uma biblioteca XML muito usada e documentada para C, que fornece uma API SAX. Expatriado é outra, mas na minha experiência não está tão bem documentada.

Outras dicas

Eu usei o Expat bastante - gosto dele por sua simplicidade e tamanho reduzido.

Expatriado faz StAX


 #include "expat.h"`
VRM_parser = XML_ParserCreate("ISO-8859-1");
XML_SetElementHandler(VRM_parser, CbStartTagHandler, CbEndTagHandler);
XML_Parse(VRM_parser, text, strlen(text), 0); // start of XML
XML_Parse(VRM_parser, text, strlen(text), 0); // more XML
XML_Parse(VRM_parser, text, strlen(text), 0); // more XML
XML_Parse(VRM_parser, text, strlen(text), 0); // more XML
XML_Parse(VRM_parser, "", 0, 1); // to finish parsing

Huh?Não, Expat não faz Stax, e o exemplo de código confirma isso.

Talvez você quisesse dizer que faz algo parecido com SAX?

Se você não se opõe ao C++ então experimente Lhama

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top