在没有浏览器的情况下解释html的输出

时间:2018-10-08 08:22:53

标签: java html string-formatting

有没有办法将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&nbsp;
                            <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字符串。

1 个答案:

答案 0 :(得分:2)

在Java中,没有内置的方法可以将HTML转换为格式化文本。您要么找到可以使用的用Java编写的类似Lynnx的(纯文本)浏览器,要么必须自己编程。

如果您输入的HTML非常简单且格式正确(例如您的示例),则这相对简单。如果要支持在线找到的野生HTML,这是一项非常复杂的工作。考虑一下CSS,Javascript和列布局,它们会尝试响应要渲染的水平像素数。

最简单的部分是解析HTML,因为您可以使用许多解析器。例如,我成功使用JSoup。复杂的部分是呈现与您在实际浏览器中看到的文本相似的文本。布局引擎是浏览器中最棘手的部分之一。

相关问题