所见即所得XML编辑器java

问题描述:

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

如果您想要一个quick'n'dirty编程解决方案,只需将您的XML DOM读入JTree。这里有很多很多的例子之一,你可以在网上找到:

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

如果你正在寻找一个开源的XML编辑器,你可能要考虑阿马亚:

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

PS: 正如你可能知道的那样,Swing的“JTree”实现是MVC到最大 - 你可以很容易地调整任何示例来过滤树模型的内容(即过滤/修改DOM内容源),或者改变外观(即修改JTree的外观和/或行为vior)。

+0

我会选择这个作为最好的答案,因为这是我想要的最接近的解决方案。感谢您的回答,我会尝试这种方式。 – Halufolia

  1. 加载XML到DOM树
  2. 目前所需的文本给用户的UI
  3. 当用户提交变化,新的文本
  4. 更新DOM树序列化DOM树回到XML

http://java-sl.com/xml_editor_kit.html 您可以使用该套件作为您项目的基础。添加一个DocumentFilter以允许仅编辑纯文本。