MVC Framework - манипулирование DOM на стороне сервера - PullRequest
2 голосов
/ 04 февраля 2009

Я создаю MVC-фреймворк и ищу нативные решения / фреймворки / библиотеки тегов для рисования или замены моего фреймворка полностью.

Меня особенно интересуют следующие функции:

  • манипулирование DOM на стороне сервера
  • события на стороне сервера (перезагрузка страницы, отправка формы, вставка узла и т. Д.)
  • обход дерева DOM с помощью селекторов css
  • проверка вложенности html-узлов
  • проверка допустимых атрибутов html-узлов
  • поддержка библиотек тегов / пользовательских элементов управления

В значительной степени то, что вы получаете с помощью JavaScript, но на стороне сервера и с некоторыми небольшими дополнениями.

Любое решение подойдет (даже если оно частично), подойдет любой язык, любые указатели оценены (даже на клиентских языках, если есть возможность проверить исходный код). Работа с искаженным html является , а не обязательным условием. Вывод правильной разметки - большой плюс.

<ч />

Пожалуйста, предложите практические решения, указав обсуждаемый язык / структуру и, если возможно, какие функции она предоставляет.

Ответы [ 6 ]

1 голос
/ 20 февраля 2009

Вы проверили Aptana Jaxer?

1 голос
/ 04 февраля 2009

Если вы загрузите свою страницу в DOM-парсер, вы сможете изменить ее оттуда. Затем вывод его в выходной буфер кажется тривиальным.

Но вам нужно будет сохранить весь документ в памяти, что повлияет на производительность.

0 голосов
/ 18 января 2011

Может быть, вы ищете ItsNat

0 голосов
/ 16 июля 2010

Fizzler использует пакет HTMLAgility и добавляет выбор запроса на стороне сервера, чтобы обеспечить выбор CSS: http://code.google.com/p/fizzler/

0 голосов
/ 02 июля 2009

Найден php html dom-парсер, который также реализует некоторые HTML-селекторы здесь: http://simplehtmldom.sourceforge.net

0 голосов
/ 18 февраля 2009

Итак, в jQuery реализован своего рода API селекторов, наверное, я взгляну на их исходный код. Кроме того, PHP поддерживает XPath, это тоже может помочь.

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