Решил попробовать решить эту задачу при помощи Parser для HTML
Проверяю задача вроде все корректно выдает. но последний пункт валидатор не пропускает
может кто, что подскажет???
package com.javarush.task.task19.task1918;
/*
Знакомство с тегами
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.jsoup.*;//parser for HTML
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
// не забыть перед валидацией этот блок закоментировать
// String fileName = "test";
// args = new String[1];
// args[0] = "span";
String teg = args[0];// = "span";
FileReader fileReader = new FileReader(fileName);
BufferedReader bufReader = new BufferedReader(fileReader);
String temp = "";
List<String> list = new ArrayList<>();
// StringBuilder strBuilder = new StringBuilder();
while ((temp = bufReader.readLine()) != null){
list.add(temp);
// strBuilder.append(temp);
}
fileReader.close();
bufReader.close();
getTeg(list,teg);
}
public static void getTeg(List<String> list, String teg){
for (String str: list) {
Document htmlDoc = Jsoup.parse(str);//Анализирует код HTML и возвращает объект Document
Elements element = htmlDoc.body().getElementsByTag(teg);//"span");
for (Element el: element) {
System.out.println(el.outerHtml());
}
}
}
}