Нужен инструмент для форматирования HTML (отступ, добавить пробел) - PullRequest
2 голосов
/ 31 января 2010

Я работаю над проектом .net, который генерирует html.

Когда генерируется строка html, в ней нет пробелов и отступов. Это затрудняет понимание сгенерированного HTML.

Есть ли инструмент, который возьмет мою строку сгенерированного HTML и отформатирует ее так, чтобы она выглядела хорошо?

Ответы [ 5 ]

5 голосов
/ 31 января 2010

Если вы сами генерируете HTML, это должен быть действительный XML.

Следовательно, вы можете использовать класс XDocument для его форматирования.

Вы можете создать HTML-код внутри XDocument, а затем вызвать ToString(), который автоматически отформатирует HTML-код.

Кроме того, XDocument должен быть намного проще в использовании, чем ручная конкатенация строк, и по сути защищает вас от большинства (но не всех) XSS-атак.

2 голосов
/ 31 января 2010
1 голос
/ 31 января 2010

Возможно, вам будет интересно взглянуть на Tidy, http://tidy.sourceforge.net/

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

с использованием https://github.com/AngleSharp/AngleSharp

var parser = new HtmlParser();
var document = parser.Parse(html);

using (var writer = new StringWriter())
{
    document.ToHtml(writer, new PrettyMarkupFormatter());
    return writer.ToString();
}
0 голосов
/ 31 января 2010

Вы можете использовать HTMLTextWriter и вызвать HTMLTextWriter.Indent, чтобы установить отступ строк.

...