2010-10-30 4 views
1

Я использую PERL модуль HTML::DOM (link to CPAN) для построения HTML DOM дерева из HTML кода, а затем изменить его, используя стандарт DOM-х removeAttribute, removeChild, innerHTML, createElement и так далее.Какая библиотека C/C++ для создания/изменения HTML DOM?

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

До сих пор я ничего не нашел. Может быть, я искал неправильно?

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

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

ответ

2

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

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

+0

Спасибо. Однако я не могу найти такие вещи, как «className» или «innerHTML» и т. Д. В документации ... –

Смежные вопросы