WYSIWYG XML-редактор Java - PullRequest
       35

WYSIWYG XML-редактор Java

3 голосов
/ 02 ноября 2011

Мне нужно написать свинг-редактор, который может открывать указанные XML-файлы, содержащие текст, который я должен использовать между тегами <p> и </p>, но в этом файле есть и другие теги.В этом файле есть другая бесполезная информация. Мне не нужно отображать ее, но ее нужно сохранить.Мне нужно отобразить только текст внутри упомянутых тегов в JTextComponent и позволить пользователю изменить его и каким-то образом записать изменения в исходный XML-источник.Положение тегов в файле XML будет варьироваться от файла к файлу, и в файле содержится более одного тега <p>, и я должен отобразить и сделать редактируемым содержимое всех из них одновременно.Как вы думаете?Какой лучший способ выполнить вышеуказанную задачу?

Ответы [ 3 ]

3 голосов
/ 03 ноября 2011

Если вам нужно быстрое и грязное программное решение, просто прочитайте 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).

3 голосов
/ 03 ноября 2011

http://java -sl.com / xml_editor_kit.html Вы можете использовать комплект в качестве основы для вашего проекта. Добавьте DocumentFilter, чтобы разрешить редактирование только простого текста.

2 голосов
/ 03 ноября 2011
  1. Загрузка XML в дерево DOM
  2. Предоставление необходимого текста пользователю в вашем пользовательском интерфейсе
  3. Когда пользователь фиксирует изменения, обновите дерево DOM новым текстом
  4. Сериализация дерева DOM обратно в XML
...