WYSIWYG XML-редактор Java
Мне нужно написать редактор на основе Swing, который может открывать определенные файлы XML, который содержит текст, который я должен использовать между <p>
а также </p>
тег, но есть и другие теги в файле. В файле есть и другие бесполезные данные. Мне не нужно их отображать, но их нужно сохранить. Мне нужно отобразить только текст внутри упомянутых тегов в JTextComponent
и позволить пользователю изменить его и каким-то образом записать изменения в исходный XML-источник. Положение тегов в файле XML будет варьироваться от файла к файлу, и существует более одного <p>
теги в файле, и я должен отобразить и сделать редактируемым содержимое всех из них одновременно. Как вы думаете? Каков наилучший способ выполнить вышеуказанную задачу?
3 ответа
Если вам нужно быстрое и грязное программное решение, просто прочитайте ваш XML DOM в JTree. Вот один из множества примеров, которые вы можете найти в Интернете:
http://www.developer.com/xml/article.php/3731356/Displaying-XML-in-a-Swing-JTree.htm
Если вы ищете XML-редактор с открытым исходным кодом, вы можете рассмотреть Amaya:
PS: Как вы, вероятно, знаете, реализация Swing "JTree" максимально возможна для MVC - вы можете легко адаптировать любой пример для фильтрации содержимого модели дерева (т. Е. Для фильтрации / изменения источника содержимого DOM) или для изменения внешний вид (т.е. изменить внешний вид и / или поведение вашего JTree).
http://java-sl.com/xml_editor_kit.html Вы можете использовать этот комплект в качестве основы для своего проекта. Добавить DocumentFilter
разрешить редактирование только простого текста.
- Загрузите XML в дерево DOM
- Представьте необходимый текст пользователю в вашем пользовательском интерфейсе
- Когда пользователь фиксирует изменения, обновите дерево DOM новым текстом
- Сериализация дерева DOM обратно в XML