Я настоятельно рекомендую pugixml
pugixml - это легкая библиотека C ++ XML для обработки.
"pugixml - это библиотека обработки C ++ XML, которая состоит из DOM-подобного интерфейса с широкими возможностями обхода / модификации, чрезвычайно быстрого синтаксического анализатора XML, который создает дерево DOM из файла / буфера XML, и XPath Реализация 1.0 для сложных управляемых данными запросов к дереву. Также доступна полная поддержка Unicode с вариантами интерфейса Unicode и преобразованиями между различными кодировками Unicode. "
Я протестировал несколько парсеров XML, в том числе несколько дорогих, прежде чем выбрать и использовать pugixml в коммерческом продукте.
pugixml был не только самым быстрым парсером, но и имел самый зрелый и дружелюбный API. Я очень рекомендую это. Это очень стабильный продукт! Я начал использовать его с версии 0.8. Сейчас это 1.7.
Большим бонусом в этом парсере является реализация XPath 1.0! Для любых более сложных запросов к дереву XPath - это функция, отправленная Богом!
DOM-подобный интерфейс с широкими возможностями обхода / модификации чрезвычайно полезен для работы с "тяжелыми" XML-файлами в реальной жизни.
Это маленький, быстрый парсер. Это хороший выбор даже для приложений iOS или Android, если вы не против связать код C ++.
Тесты могут многое сказать. Смотри: http://pugixml.org/benchmark.html
Несколько примеров для (x86):
pugixml is more than 38 times faster than TinyXML
4.1 times faster than CMarkup,
2.7 times faster than expat or libxml
For (x64) pugixml - самый быстрый парсер, который я знаю.
Проверьте также использование памяти вашим анализатором XML. Некоторые парсеры просто пожирают драгоценную память!