Простой C XML синтаксический анализатор

Я должен читать, XML отформатировал документ из программы C и извлечения из нее элементы и их значения. Например, в следующем коде:

<user name="Mark">
    <param name="Age" value="21"/>
    <param name="Country" value="NL"/>
</user>

Я должен извлечь: name = Mark, Age = 21 и Country = NL.

До сих пор я делал этот парсинг вручную, который является болью.

Я не забочусь, не забочусь ли файл "надлежащий XML" или все это, я об или других стандартных требованиях XML DTD. Я просто должен считать и проанализировать значения.

Кто-либо знает о библиотеке кроме эмигранта lib, чтобы сделать это или код, чтобы сделать это?

Спасибо!

7
задан jww 31 October 2019 в 15:54
поделиться

5 ответов

Mini-XML выглядит многообещающе

http://www.minixml.org/

-1
ответ дан 6 December 2019 в 12:46
поделиться
7
ответ дан 6 December 2019 в 12:46
поделиться

Парсер Expat - лучшее, что я встречал - я использую его в своем коде C ++ вместо различных синтаксических анализаторов C ++ - но он написан на C. Очень легко использовать и встроить в ваше приложение. Поэтому я не понимаю, почему в вашем вопросе вы говорите:

(кроме lib eXpat)

вы что-то имеете против этого?

5
ответ дан 6 December 2019 в 12:46
поделиться

Как насчет Mini-XML? Он легкий, работает с gcc, совместим с ANSI-C ...

http://www.minixml.org/index.php

Согласно документации, для поиска конкретных узлов достаточно просто:

/* Find the first "a" element */
    node = mxmlFindElement(tree, tree, "a",
                           NULL, NULL,
                           MXML_DESCEND);

Получив узел, вы можете манипулировать им в соответствии со своими требованиями.

4
ответ дан 6 December 2019 в 12:46
поделиться

Если C ++ подходит, вы можете попробовать TinyXML . Я использую его несколько лет, и он отлично работает.

1
ответ дан 6 December 2019 в 12:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: