【问题标题】:WYSIWYG XML Editor java所见即所得 XML 编辑器 java
【发布时间】:2011-11-02 17:13:30
【问题描述】:

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

【问题讨论】:

    标签: java xml swing wysiwyg jtextcomponent


    【解决方案1】:

    如果您想要一个快速的'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 的外观和/或行为)。

    【讨论】:

    • 我会选择这个作为最佳答案,因为这是最接近我想要的解决方案。感谢您的回答,我会尝试这种方式。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:
      1. 将 XML 加载到 DOM 树中
      2. 在您的 UI 中向用户显示所需的文本
      3. 当用户提交更改时,使用新文本更新 DOM 树
      4. 将 DOM 树序列化回 XML

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-10
        • 2012-11-04
        相关资源
        最近更新 更多