2010-05-25 3 views
4

Я собираюсь написать код C#, который переопределяет метод Render System.Web.UI.Page, а затем переформатирует HTML, прежде чем представлять его в браузере , Это чисто экспериментально, поэтому накладные расходы сейчас не являются проблемой.Документ формата Visual Studio - как записать его на C#

Возможно, я немного научился методам регулярного выражения и хотел бы использовать их здесь, но я не могу представить себе настоящий лаконичный и элегантный способ красивого форматирования HTML-документа. Мне удалось полностью минимизировать HTML с помощью регулярных выражений, но что касается правильного отступов, я в тупике.

Итак, если у вас была строка HTML, используя C#, как бы вы переформатировали ее так же, как и в функции Document Document для Visual Studio? Любые идеи очень приветствуются.

+0

Могу я спросить * почему * вы хотите украсить HTML-код, который отправляется в браузер? В любом случае браузер будет игнорировать форматирование. –

+0

Ты прав Марк, и, как я уже говорил, это эксперимент. Если это случается, что это тривиально, я бы хотел использовать его для работы, которую я отправляю в HTML 5-галерей, поскольку я был показан в необычном случае. Боюсь, что беспорядочная разметка, которую .NET извергает, никогда не будет рассмотрена для этих галерей. –

ответ

2

Использование Tidy. Я успешно использовал this .net wrapper.

+0

Это, конечно, похоже, что это будет трюк. Однако я должен признаться, что я несколько не согласен с использованием библиотеки, написанной в (переносном ANSI) C _and_ .NET-оболочке, только для этого. Грохот этого предлагаемого решения намного перевешивает, на мой взгляд, новизну красиво отформатированного документа. Я бы предпочел сделать это в коде C# или ни в чем другом. –

+0

@ david - разбор и форматирование html не является тривиальной задачей. Спросите любого, кто попытался. Tidy - это * a *, если не * *, золотой стандарт. Я не уверен, что понимаю ваше отвращение к использованию кода, который работает и был принят, усовершенствован и улучшен за последние 10 (+?) Лет, независимо от языка или распространяемого. Но тогда мне не нужно подвергать сомнению ваши мотивы. Удачи с этим. –

+0

http://tidy.sourceforge.net/ – Femaref