Преобразование строки с 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--;
                    }
                }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.385 из 5