| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > разбор html |
| Автор: gagar 18.5.2010, 09:15 |
| Всем доброго времени суток! Возник интересный вопрос: нужно написать модуль разбора произвольного html кода c возможностью строить DOM-дерево документа, использовать XPath и выполнять различные манипуляции с документом (например, добавление новых атрибутов к тегам). К модулю предъявляется ряд требований: 1. размер дистрибутива не важен; 2. критична скорость обработки (я понимаю, что это все зависит от размеров и сложности html документов и производительности компа, но хотелось бы выбрать из всего набора библиотек самую производительную); 3. удобство (здесь имеется ввиду понятность API библиотеки и полнота документации); 4. перспективность (библиотека должна развиваться, что бы в будущем можно было поддерживать и html5); 5. платформа, по умолчанию, Windows, но если будет портируемый вариант, то это еще один жирный плюс; 6. Очень желательно что бы библиотека могла так же работать с xml (но это только пожелание). Что имеется: 1. MSHTML - "классическая" библиотека в мире Windows от компании Microsoft; 2. libxml2 - тоже "классика" в мире Linux (впрочем, библиотека кросплатформенная); В чем, собственно, вопрос: какая из этих библиотек лучше? Есть ли иные альтернативы? Хотелось бы сделать правильный выбор... P.S. Неужели огромный мир C++ (особенно его Linux часть) ограничивается только двумя библиотеками для работы с html? |
| Автор: djamshud 18.5.2010, 10:40 |
| В линуксе не принято городить велосипедов. libxml2 хорош. Можно воспользоваться плюсовым враппером libxmlpp или враппером для других языков. Ну и в Qt тоже есть парсеры XML. Лучше брать libxml(pp), ибо кроссплатформенно. |
| Автор: gagar 18.5.2010, 11:37 |
| А можно про враппер libxmlpp поподробнее? Где его скачать и где доки лежат? И еще... у libxml есть в целом неплохая документация по работе с xml. Но совсем уборая по работе с html... Есть болле подробная инфа, чем с офф сайта? И где можно нарыть примеры работы с html с помощью libxml. Google ничего вразумительного не выдает... |
| Автор: gustavomarginale 4.9.2010, 21:26 |
| HTML из реальной жизни не всегда является валидным XML-документом, так что иногда DOM-дерево разваливается на запчасти. Мои исследования: http://dramele.livejournal.com/126144.html |
| Автор: jonie 5.9.2010, 12:39 |
| libtidy |