有没有办法将java字符串中存在的html代码格式化为浏览器在java本身没有浏览器的情况下显示的相应输出? 前任: 可以说字符串是,
<ul>
<li>red</span></li>
<li>green</span></li>
<li>orange<br /></span></li>
</ul>
<br />number list:<br />
<ol>
<li>one</li>
<li>two</li>
<li>three
<ul>
<li>embedded bullet
<ul>
<li>again
<ul>
<li>again
<ul>
<li>next one</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>four</li>
</ol>
This is O/P:
outputString="
• one
• two
• three
number list:
1. one
2. two
3. three
• embedded bullet
• again
• next one
4. four"
然后格式化程序应该将其转换为输出字符串。
最佳答案
Java 中没有内置方法可以将 HTML 转换为格式化文本。您要么找到一个用 Java 编写的类似 lynx(纯文本)的浏览器来使用,要么您必须自己编写一个浏览器。
如果您的输入 HTML 非常简单且格式良好(如您的示例所示),则这相对简单。如果您想支持在线找到的野生 HTML,这是一项非常复杂的任务。想想 CSS、Javascript 和列布局,它们试图响应您渲染的水平像素数量。
最简单的部分是解析 HTML,因为有很多解析器可供使用。例如我用过JSoup成功了。复杂的部分是呈现与您在实际浏览器中看到的文本类似的文本。布局引擎是浏览器中最棘手的部分之一。
关于java - 无需浏览器即可解释 html 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52698149/