Альтернативы NTidy и другим портам, необходимо форматировать HTML с помощью пользовательских токенов

Нужно отформатировать (автоматически, в приложении) некоторые шаблоны html / nvelocity. Кажется, Tidy является ответом на это, однако все порты.Net кажутся проблематичными и не очень хорошо обслуживаемыми. Большинство полагается на неуправляемый код под прикрытием, и это начинает накладывать другие ограничения на проект.

Например, чтобы использовать код, связанный с http://www.codeproject.com/KB/mcpp/eftidynet.aspx, проекты должны быть в сборке x86.

Есть ли новое предпочтительное решение для этого? Или существует полностью управляемый порт TidyHtml, который понимает nvelocity или позволяет настраивать определение токенов?

2 ответа

Решение

Давайте перечислим их:

  • EfTidy
  • ZetaHtmlTidy (смешанный режим, поэтому для x86/x64 нужны разные сборки)
  • tidyfornet (управляемая сборка, но зависит от внешней библиотеки HTMLTidy)
  • TidyATL (ATL-оболочка, старая, не поддерживаемая, я думаю, что это также смешанный режим и даже требует регистрации COM?)
  • TidyNet (полностью управляемая DLL, без внешних зависимостей)

Несмотря на то, что он старый и не поддерживается, я использую TidyNet, потому что он полностью управляем. Делает работу просто отлично.

Кстати: Tidy и NVelocity совершенно не связаны. Я бы никогда не обработал шаблоны NVelocity с помощью Tidy, так как это, вероятно, сломает их... Однако вы можете захотеть запустить Tidy для получающегося html после обработки шаблона NVelocity.

Другие вопросы по тегам