Это кажется довольно простым, но, очевидно, я делаю что-то не так. Вот мой HTML - я пытаюсь создать как теги с единичным кодом, так и теги вложенного кода под предварительными тегами - итоговый контент будет представлять собой «однострочные блоки с кодом внутри», а также с предварительными тегами «большие поля с кодом внутри» , Есть также пустые теги абзаца, от которых я не могу избавиться, используя стандартные методы - удаление элемента после проверки отсутствия текста в абзаце. Вот входные данные
<code> <h1>Module Description and Learning Objectives</h1>
<p>
</p>
<pre>
<p>
<code>2020-02-13 12:49:15 DEBUG StackTraceElement:48 -</code>
</p>
<p>
<code>2020-02-13 12:49:15 DEBUG StackTraceElement:48 - sects.title</code>
</p>
<p>
<code>2020-02-13 12:49:15 DEBUG StackTraceElement:48 - sects.id=1</code>
</p>
<p>
</p>
Предложение 1
System.out.println("id:"+element.attr("id"));
Предложение 2
System.out.println("src:"+element.attr("src"));
Предложение 3
System.out.println("alt:"+element.attr("alt"));
Это мой код (не следует за именами столько, сколько за конструкциями, именами в середине кода:)
Elements pWithCodeTagList = docXMLformat.select("code");
if (pWithCodeTagList.size() > 0) {
for (Element pTag : pWithCodeTagList) {
System.out.println("pTag=" + pTag.text() + " " + pTag.tagName());
pTag.unwrap();
}
}
Вот вывод в eclipse - я действительно выбираю теги кода и ожидаю исчезновения родительского p
pTag=2020-02-13 12:49:15 DEBUG StackTraceElement:48 - code
pTag=2020-02-13 12:49:15 DEBUG StackTraceElement:48 - sects.title code
pTag=2020-02-13 12:49:15 DEBUG StackTraceElement:48 - sects.id=1 code
pTag=System.out.println("id:"+element.attr("id")); code
pTag=System.out.println("src:"+element.attr("src")); code
pTag=System.out.println("alt:"+element.attr("alt")); code
Это результат: я ожидал, что теги абзаца исчезнут, а не кодовые теги!
<code> <h1>Module Description and Learning Objectives</h1>
<p>
</p>
<pre>
<p>
2020-02-13 12:49:15 DEBUG StackTraceElement:48 -
</p>
<p>
2020-02-13 12:49:15 DEBUG StackTraceElement:48 - sects.title
</p>
<p>
2020-02-13 12:49:15 DEBUG StackTraceElement:48 - sects.id=1
</p>
<p>
</p>
Предложение 1
System.out.println ("id:" + element.attr ("id"));
Предложение 2
System.out.println ("sr c:" + element.attr ("sr c"));
Предложение 3
System.out.println ("alt:" + element.attr ("alt"));
Я уже коснулся этой области моего документа, перед этим я удалил тег span вокруг кодового тега, и мне пришлось удалить все элементы управления строкой символы из содержимого строки, возможно, PRE и CODE не работают как другие теги - я знаю, что они не должны, но ... также я пытаюсь сохранить теги и контент в одной строке, чтобы мой "код" Ящики "как можно тоньше", для переключения:
<pre>
<code>2020-02-13 12:49:15 DEBUG StackTraceElement:48 -</code>
<code>2020-02-13 12:49:15 DEBUG StackTraceElement:48 - sects.title</code>
<code>2020-02-13 12:49:15 DEBUG StackTraceElement:48 - sects.id=1
Предложение 1
System.out.println("id:"+element.attr("id"));
Предложение 2
System.out.println("src:"+element.attr("src"));
Предложение 3
System.out.println("alt:"+element.attr("alt"));