我的目的是编辑HTML文档,包括修改现有元素,删除元素和插入新元素.
我已经阅读了HTMLEditorKit和相关类的文档,以及Sun的Java Trail中的相关主题,但是关于实际HTML文档操作的信息很少.大多数讨论和示例涉及阅读和解析HTML,而不是真正编辑它.一些谷歌搜索仍然没有产生适当的解决方案,并试图通过一些编码试验和错误解决任务主要导致例外.
我已经在SO中查阅了相关的问题和答案,但大多数答案提出了一些替代方案,而我正在寻找JDK中的解决方案.也许HTMLEditorKit对非摆动应用程序没有多大用处,而且javax.swing之外还有另外一种选择?
以下是我想学习如何执行的一些任务:
>替换某些文本字段中的文本.
>基本编辑(查找/替换或
< script>的正则表达式元素.
>为某些元素的边框着色.
>完全删除某些标签(for
示例flash元素).
假设HTMLEditorKit是JDK中最好的HTML编辑组件,你推荐什么教程或参考?
最佳答案
HTMLEditorKit不是HTML编辑器,而是文档模型的编辑器,允许将这些文档模型从HTML转换为HTML.编辑器工具包的内部模型不是“HTML”,而是基于DefaultStyledDocument.令你困惑的是有一个HTMLDocument类.但这只是DefaultStyledDocument的一个瘦包装器,因此它可以从HTML创建并保存为HTML.
你需要的是一个HTML解析器.尝试jTidy.它将读取HTML,构建一个内部模型(保持类似< script> HTMLEditorKit将忽略的内容).然后,您可以使用DOM API来修改模型.
也就是说,对于许多用例来说,使用正则表达式或简单的字符串搜索和替换来过滤HTML就足够了.