Преобразование строки с html тегами в древовидный формат - C#
Формулировка задачи:
Доброго времени суток, есть текстовый документ в котором записан html код в одну строку. Вопрос: как перевести эту строку в древовидный вид?. Как делает вот этот сайт: www.freeformatter.com/html-formatter.html. Заранее спасибо
StreamReader sr = new StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Новый текстовый документ0.html");
string myHtmlString = sr.ReadLine();<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><HTML><HEAD><META http-equiv="Content-Type" content="text/html; charset=utf-8"/><META http-equiv="X-UA-Compatible" content="IE=edge"/><TITLE>Hello</TITLE></HEAD><BODY></BODY></HTML>
Решение задачи: «Преобразование строки с html тегами в древовидный формат»
textual
Листинг программы
int count = 0;
string s_new = "";
for (int i = 0; i < s.Length; i++)
{
if (s[i] == '<')
{
if (s[i + 1] != '/')
{
for (int j = 0; j < count; j++)
s_new += " ";
count++;
}
if (s[i + 1] == '/')
{
s_new += "\n";
count--;
for (int j = 0; j < count;j++)
s_new += " ";
}
s_new += '<';
}
else
{
s_new += s[i];
if (s[i] == '>')
{
s_new += "\n";
if (s[i - 1] == '/') count--;
}
}
}