有没有办法将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"
然后格式化程序应将其转换为outpuString字符串。
答案 0 :(得分:2)
在Java中,没有内置的方法可以将HTML转换为格式化文本。您要么找到可以使用的用Java编写的类似Lynnx的(纯文本)浏览器,要么必须自己编程。
如果您输入的HTML非常简单且格式正确(例如您的示例),则这相对简单。如果要支持在线找到的野生HTML,这是一项非常复杂的工作。考虑一下CSS,Javascript和列布局,它们会尝试响应要渲染的水平像素数。
最简单的部分是解析HTML,因为您可以使用许多解析器。例如,我成功使用JSoup。复杂的部分是呈现与您在实际浏览器中看到的文本相似的文本。布局引擎是浏览器中最棘手的部分之一。