Я хотел бы добавить yourkit java и .net profiler. Я люблю его для Java, хотя и не пробовал .NET-версию.
Вам следует попробовать pugixml Легкий, простой и быстрый XML-анализатор для C ++
Самая приятная вещь в pugixml - это поддержка XPath , которого нет в TinyXML и RapidXML.
Цитата автора RapidXML: «Я хотел бы поблагодарить Арсения Капулкина за его работу над pugixml, которая послужила источником вдохновения для этого проекта» и «на 5–30% быстрее, чем pugixml, самый быстрый анализатор XML. знает о "Он тестировал pugixml версии 0.3, которая недавно достигла версии 0.42.
Вот выдержка из документации pugixml:
Основными особенностями являются:
Хорошо, спросите вы - в чем прикол? Все так мило - это маленькое, быстрое, надежное и чистое решение для синтаксического анализа XML. Чего не хватает? Хорошо, мы честные разработчики - так что вот список ошибок:
Судя по моему опыту работы со списком рассылки Boost, кажется, что каждый раз, когда XML выступает в качестве темы, он переводится в обсуждение Unicode. Однако, поскольку прямо сейчас вырисовывается потенциальная библиотека Unicode, я не думаю, что для ее появления там потребуется много времени.
Тем временем я тоже использую TinyXML.
Интересная ссылка о RapidXML. Я посмотрю на это.
Если вы ищете только функциональность DOM, в этой теме уже есть несколько предложений. Я лично, вероятно, не стал бы беспокоиться о библиотеке, в которой отсутствует поддержка XPath, а в C ++ использовал бы Qt. Также есть TinyXPath, и Arabica утверждает, что поддерживает XPath, но я ничего не могу сказать по этому поводу.
Boost не предоставляет атм парсера XML.
Poco XML (часть библиотек Poco C ++ ) хорош и прост.
Что ж, в boost нет специальной библиотеки для синтаксического анализа XML, но есть много альтернатив, вот пара: libxml , Ксерсес , Expat
Конечно, вы могли бы использовать некоторые из других библиотек в boost, чтобы помочь вам в создании вашей собственной библиотеки, но это, вероятно, будет непростым делом.
А вот целая статья по теме от IBM.
Также есть TinyXML , красивая и небольшая библиотека C ++. Если вам нужна библиотека нижнего уровня, RapidXML - отличная отправная точка.
TinyXML , вероятно, будет хорошим выбором. Что касается Boost:
В репозитории Boost есть библиотека Property_Tree . Он был принят, но поддержки, похоже, в данный момент не хватает (EDIT: Property_Tree теперь является частью Boost , начиная с версии 1.41 , прочтите документацию относительно его XML).
Дэниел Наффер реализовал XML-анализатор для Boost Spirit.
Похоже, что сериализация Boost может читать из архивов и записывать в них XML, если этого достаточно для ваших целей.