Здравствуйте. Бьюсь больше дня над задачей. Не знаю уж, насколько это говнокод :) , но пытался решать только пройденным материалом. Вкратце решение такое: считываем файл построчно, объединяем в одну строку, меняем все теги на открывающие и закрывающие скобки соответственно. Переводим полученную строку в массив символов. Проходим циклом по массиву, если находим открывающую скобку, то запускаем подцикл со следующего элемента, пока не найдем закрывающую скобку. Если вдруг находим вторую подряд открывающую, то ищем не следующую, а вторую закрывающую итд. Каждый элемент до нахождения скобки заносим в StringBuilder. Как только находим нужную закрывающую скобку, выходим из подцикла и заносим полученную из StringBuilder строку в лист строк с добавлением тегов в начало и конец строки. Какие только теги не выдумывал в исходном файле, вывод правильный. Валидатору не нравится последний пункт. Укажите, пожалуйста, на ошибку.