我正在研究一种采用
HTML字符串并返回类似的方法
javax.swing.text.html.HTMLDocument
这样做最有效的方法是什么?
我目前这样做的方法是使用SAX解析器来解析HTML字符串.我记录何时点击打开的标签(例如,< i>).当我点击相应的关闭标记(例如,< / i>)时,我将斜体样式应用于我在其间插入的字符.
这当然有效,但速度不够快.有更快的方法吗?
解决方法
尝试使用HtmlEditorKit类.它支持解析可以直接从String读取的HTML内容(例如通过StringReader).
There seems to be an article关于如何做到这一点.
编辑:举个例子,基本上我认为它可以像这样完成(执行代码后,htmlDoc应该包含加载的文档……):
Reader stringReader = new StringReader(string); HTMLEditorKit htmlKit = new HTMLEditorKit(); HTMLDocument htmlDoc = (HTMLDocument) htmlKit.createDefaultDocument(); HTMLEditorKit.Parser parser = new ParserDelegator(); parser.parse(stringReader,htmlDoc.getReader(0),true);