Я должен читать, 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, чтобы сделать это или код, чтобы сделать это?
Спасибо!
Парсер Expat - лучшее, что я встречал - я использую его в своем коде C ++ вместо различных синтаксических анализаторов C ++ - но он написан на C. Очень легко использовать и встроить в ваше приложение. Поэтому я не понимаю, почему в вашем вопросе вы говорите:
(кроме lib eXpat)
вы что-то имеете против этого?
Как насчет 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);
Получив узел, вы можете манипулировать им в соответствии со своими требованиями.
Если C ++ подходит, вы можете попробовать TinyXML . Я использую его несколько лет, и он отлично работает.