Я работаю над проектом для встроенной системы, использующей XML для получения данных в систему и из нее. Я не хочу, чтобы обработка XML передавалась в кучу битов, которые строят строки XML, используя snprintf()
/strcat()
и друзей или анализируя XML, путем подсчета символов "<
" и ">
".
Я нашел несколько XML-библиотек, несколько из которых могут быть даже достаточно маленькими, но ближе всего к C есть С++, чего нет в карточках для этой системы. Я надеюсь, что я смогу найти библиотеку XML, которая удовлетворяет следующим ограничениям:
- исходный код C
- отсутствие динамической памяти
- дешево. Бесплатно лучше, но copyleft не будет делать трюк.
Он не должен быть полным парсером - я просто хочу, чтобы вытащить текст из вложенных элементов и иметь достаточно простой способ генерации XML, который не полагается на строки формата. Атрибуты не используются (пока), поэтому библиотеке не нужно их поддерживать. Документы XML будут довольно маленькими, поэтому что-то вроде DOM-like будет хорошо, если оно будет работать с клиентскими буферами (анализ синтаксиса XML на месте будет приятным).
PugXML и TinyXML выглядят довольно близко, но я надеюсь, что кто-то там знает об XML-библиотеке, специально разработанной для встроенных систем на базе C, которые отсутствуют в моем поисковом рассылке.