Какую библиотеку C / C ++ использовать для построения / изменения HTML DOM? - PullRequest
1 голос
/ 30 октября 2010

Я использую модуль Perl HTML::DOM ( ссылка на CPAN ) для построения дерева HTML DOM из HTML-кода, а затем меняю его с использованием стандартных DOM removeAttribute, removeChild, innerHTML, createElement и т. Д.

Но я обнаружил, что он действительно очень медленный и потребляет слишком много памяти (во всяком случае, он полностью в perl).Итак, я подумал, что будет какая-то библиотека C / C ++, которая делает это быстрее и эффективнее (потому что это происходит в каждом браузере, поддерживающем JavaScript).

Пока ничего не нашел.Может быть, я ищу неправильно?

изменить: я добавлю.Мне бы хотелось, чтобы он работал аналогично связанному модулю Perl - я имею в виду то, что я мог бы напрямую использовать HTML innerHTML, className, idName ... Это возможно, или мне нужно будет использовать общиеСинтаксический анализатор XML, а затем написать их самому?

edit2: ОК, медлительность модуля Perl на самом деле была моей ошибкой.Однако, так как я уже спросил, вопрос все еще стоит:)

1 Ответ

2 голосов
/ 30 октября 2010

libgdome - библиотека, добавляющая реализацию DOM поверх libxml2 .

Многие из более быстрых высокоуровневых языковых модулей для этой цели (например, в мире Python lxml ), как правило, создаются непосредственно на libxml2, выполняя сами биты DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...