Генератор синтаксического анализатора XML -> C - PullRequest
1 голос
/ 22 сентября 2010

У меня есть программа c, которая получает свои настройки из файла XML. В настоящее время я использую Xerces для обхода данных, но довольно утомительно сопоставлять каждое XML-значение с переменной.

Тот же XML также читается Java-программой, что намного удобнее, поскольку JAXB создает все необходимые классы и тому подобное в Java. Я ищу что-то подобное, что может создать «структуру структур» или что-то подобное. Важно, чтобы я получил структуры c, а не классы c ++, потому что этот код будет работать на графических процессорах.

Я нашел "XML Booster" и сейчас читаю его документы. Знаете ли вы другие варианты? Нужно использовать в Linux.

Ответы [ 3 ]

1 голос
/ 23 ноября 2010

Учитывая, что ваши XML-файлы имеют общий шаблон, вы можете использовать Bison + Flex или просто ANTLR (среда выполнения C) для построения грамматики и извлечения значений из XML-файлов в переменные. Они будут производить парсеры в чистом C, так что вам не о чем беспокоиться.

1 голос
/ 22 сентября 2010

я использую библиотеку libxml.Вам все еще нужно просмотреть XML, но вы получите связанный список с элементами, атрибутами, узлами и дочерними узлами, за которыми вы можете следить.

ссылка: http://xmlsoft.org/index.html

0 голосов
/ 23 сентября 2010

Если у вас есть XML-схема, проверьте код синтеза xsd. Он генерирует хорошие объекты c ++ для вашего xsd, и вам не нужно напрямую иметь дело с xerces: http://www.codesynthesis.com/products/xsd/

...