3

我需要编写一个基于 swing 的编辑器,它可以打开指定的 xml 文件,其中包含我必须在 a<p></p>标签之间使用的文本,但文件中还有其他标签。文件中还有其他无用的信息,我不需要显示,但需要保留。我只需要显示 a 中提到的标签内的文本JTextComponent,让用户修改它并以某种方式将更改写回底层 xml 源。xml 文件中标签的位置因文件而异,并且文件中有多个<p>标签,我应该一次显示并编辑所有标签的内容。你怎么看?完成上述任务的最佳方法是什么?

4

3 回答 3

4

如果您想要一个快速的'n'dirty 编程解决方案,只需将您的 XML DOM 读入 JTree。这是您可以在网上找到的众多示例之一:

http://www.developer.com/xml/article.php/3731356/Displaying-XML-in-a-Swing-JTree.htm

如果您正在寻找开源 XML 编辑器,您可能需要考虑 Amaya:

http://www.w3.org/Amaya/

PS:您可能知道,Swing 的“JTree”实现是最大的 MVC - 您可以轻松调整任何示例来过滤树模型的内容(即过滤/修改您的 DOM 内容源),或更改外观(即修改您的 JTree 的外观和/或行为)。

于 2011-11-02T20:15:43.180 回答
3

http://java-sl.com/xml_editor_kit.html 您可以使用该工具包作为您项目的基础。添加 aDocumentFilter以允许仅编辑纯文本。

于 2011-11-03T06:00:41.877 回答
2
  1. 将 XML 加载到 DOM 树中
  2. 在您的 UI 中向用户呈现所需的文本
  3. 当用户提交更改时,使用新文本更新 DOM 树
  4. 将 DOM 树序列化回 XML
于 2011-11-02T20:04:57.907 回答