从 HTML 字符串创建 HTMLDocument(在 Java 中)
我正在研究一种方法,该方法接受 HTML 字符串并返回类似的
javax.swing.text.html.HTMLDocument
最有效方法是什么?
我目前执行此操作的方法是使用 SAX 解析器来解析 HTML 字符串。我会跟踪何时点击开放标签(例如,)。当我点击相应的结束标记(例如,)时,我将斜体样式应用于我点击的字符之间。
这当然有效,但速度不够快。有没有更快的方法来做到这一点?
I'm working on a method that takes a String of HTML and returns an analogous
javax.swing.text.html.HTMLDocument
What is the most efficient way of doing this?
The way I'm currently doing this is to use a SAX parser to parse the HTML string. I keep track of when I hit open tags (for example, <i>). When I hit the corresponding close tag (for example, </i>), I apply the italics style to the characters I've hit in between.
This certainly works, but it's not fast enough. Is there a faster way of doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
同意mouser的观点,但有一个小修正
Agree with mouser but a small correction
尝试使用
HtmlEditorKit
类。它支持解析可直接从String
读取的HTML 内容(例如通过StringReader
)。 似乎有一篇文章介绍了如何执行此操作。编辑:举个例子,基本上我认为可以这样做(执行代码后,
htmlDoc
应包含加载的文档...):Try to use
HtmlEditorKit
class. It supports parsing of HTML content that can be read directly fromString
(e.g. throughStringReader
). There seems to be an article about how to do this.Edit: To give an example, basically I think it could be done like this (aftrer the code is executed,
htmlDoc
should contain the loaded document...):您可以尝试使用
HTMLDocument.setOuterHTML
方法。只需添加一个随机元素,然后将其替换为您的 HTML 字符串。You could try to use the
HTMLDocument.setOuterHTML
method. Simply add a random element and replace it afterwards with your HTML string.