pugixml против tinyxml

Короткий вопрос: какие-либо комментарии по сравнению pugixml и tinyxml, пожалуйста?

Подробности Мне нужно использовать синтаксический анализатор/запись XML. Моя программа написана на C++.

Мне кажется, что TinyXML и pugixml — хорошие варианты (RapidXML тоже хорош, но его интерфейс не кажется таким простым, как два предыдущих, поскольку мне приходится самому управлять распределением данных).

Есть ли у людей какие-либо комментарии по поводу сравнения между ними? Я работаю над встроенной платформой, поэтому для меня важна обработка памяти, и мне нужно иметь возможность как анализировать, так и записывать данные XML.

Скорость не так важна, но использование памяти и более простой интерфейс.

Спасибо. PS Файлы XML, с которыми я имею дело, довольно малы (максимальный размер = 1200 байт; максимальное количество элементов = 6 или 7; файлы XML довольно просты).


person sw_eng    schedule 13.01.2012    source источник
comment
Если это поможет, я часто использую TinyXML, как и другие профессионалы. Я не использовал pugixml, хотя!   -  person ButchDean    schedule 14.01.2012
comment
Использовали оба и больше любят pugixml. Это просто, быстро и имеет поддержку XPath. Но, возможно, этот ответ поможет link. Если вы предпочитаете tinyxml, возможно, вам не стоит проверять ссылку оболочки C++.   -  person P3trus    schedule 15.01.2012
comment
Спасибо вам обоим за ваши ответы. @P3trus P3trus - Есть ли у вас какие-либо комментарии по поводу «использования памяти» pugixml и tinyxml — как для чтения, так и для записи? Файлы, которые я собираюсь анализировать/записывать, довольно маленькие, и мне интересно, какой из них будет более эффективным.   -  person sw_eng    schedule 16.01.2012
comment
посмотрите здесь ссылка   -  person P3trus    schedule 17.01.2012
comment
Я использовал и тестировал как pugixml, так и TinyXML. Я был впечатлен скоростью pugixml и низким потреблением памяти. Также pugixml намного проще в использовании. Тесты говорят жестокую правду pugixml.org/benchmark.html TinyXML более чем в 38 раз медленнее и занимает В 28 раз больше памяти для того же файла XML, чем у pugixml. Сначала я не мог в это поверить, но мой собственный тест также подтвердил это. Я использую pugixml в коммерческих приложениях для разбора огромных файлов. pugixml - великолепный парсер..   -  person sg7    schedule 09.06.2016


Ответы (3)


Я использовал tinyxml, QtXml, дерево свойств boost и, насколько я помню, pugixml — самый быстрый DOM xml-парсер.

Что касается встроенных, я использовал pugixml с xml-файлами около 9Mb - и все работает хорошо и быстро. Но я не знаю о вашем ограничении памяти - просто напишите простой пример и проверьте.

person Aleksey Bakin    schedule 26.02.2012

Я использовал TinyXML 6 месяцев назад, я думаю, что это отлично...

person kaitian521    schedule 22.02.2012

Вы можете посмотреть на Expat. Я использовал его около 8 лет в коммерческом продукте без каких-либо проблем. Это открытый исходный код с невирусной лицензией.

person Graham Asher    schedule 08.06.2012
comment
Я начал с Expat, но expat не имеет возможности записи XML, поэтому мне нужно было перейти к какой-то другой библиотеке, которая обеспечивает возможности как синтаксического анализа, так и создания XML. - person sw_eng; 11.06.2012
comment
Существует scew для письма, который использует expat. - person Adder; 06.01.2013