【发布时间】:2010-10-31 15:56:19
【问题描述】:
有谁知道如何在 Java 中以编程方式生成 HTMLDocument 对象,而无需求助于外部生成字符串,然后使用 HTMLEditorKit#read 来解析它?我问的两个原因:
首先,我的 HTML 生成例程需要非常快,并且我假设将字符串解析为内部模型比直接构建此模型的成本更高。
其次,面向对象的方法可能会产生更简洁的代码。
我还应该提到,出于许可原因,除了 JVM 附带的库之外,我不能使用任何库。
谢谢, 汤姆
【问题讨论】:
-
为什么需要解析正在生成的 HTML?您是否需要能够插入可能无效的内联 HTML?
-
感谢您的问题: mmyers:HTML Oliver:抱歉,我没有说清楚。如果我正确理解您的问题,我将从 HTML 生成一个 HTMLDocument(使用 HTMLEditorKit#read),由 JTextPane 呈现。
-
再说一次,这并不能解释为什么您需要先生成然后解析。
-
不是我在做解析。但是,我假设 swing 必须解析隐藏的 HTML 以便在 JTextArea 中呈现 HTML(否则每次它想要重绘窗格时都会不必要地重新解析对象)。我想找到一些跳过这一步的方法,直接生成对象,而不是生成一个字符串(Swing 大概会解析成对象)。
-
由于您有一个需要生成的已定义目标对象 (HTMLDocument),因此只有为它设计 API 时,代码才会更清晰。如果编写 API 时只考虑了一个字符串作为源,那么将代码强制转换为解析方法可能会更快,也可能不会更快,但几乎肯定不会更干净。
标签: java html construction