我在這個問題上苦苦掙扎了一個星期。我嘗試用java編寫一個可編輯電子書的程序。我選擇的電子書格式是fictionbook,它的數據包含在一個xml文件中。我可以打開這個文件並在JTextComponent中生成一個源視圖。在我的編輯預覽和源視圖中有兩個togglebuttons。他們使用相同的JTextComponent進行顯示。當用戶點擊sourceview時,它會顯示選擇的文件源(純xml)。我通過解析我需要顯示的數據來從這個源生成預覽。如果我在源視圖中更改某些內容,它也將顯示在預覽中,因爲它從那裏生成,我的問題是我該如何反向。因此,如果我在預覽中更改某些內容,它也會在源代碼中進行更改。XML在Java中使用Jdom進行解析和編輯
0
A
回答
0
很難將這看作是一個JDOM特有的問題。底層表示可能幾乎任何東西。通常情況下,預覽就是這樣:一個不能直接編輯的最終結果視圖。如果您希望能夠編輯源文件並通過WYSIWYG視圖編輯,則需要調查模型視圖控制器模式。
底層XML將是您的模型。 XML編輯器視圖和WYSIWYG視圖(您當前的預覽)都是視圖和控制器。目前這只是你的XML編輯器的情況,而預覽只不過是一個視圖。
從預覽中更改底層XML聽起來很困難,除非每個節點都可以以某種方式標識(如通過id屬性)。在預覽中需要一些額外的基礎數據才能在另一個方向進行耦合。
我不確定一個JDOM文檔是您的目的最好的模型。也許你最好使用像JAXB這樣的簡單的JavaBeans來表示可以編組到XML並從XML解組的XML模型。所以你得到:
model: JavaBeans with JAXB annotations
^
|
(directly) +--------------------------------------+ (through JAXB)
| |
WYSIWYG editor: view + controller XML editor: view + controller
但這只是我的第一印象。調查現有編輯,找出完成此操作的好方法。可能檢查IDE插件/模塊可能很有趣,因爲IDE通常允許多種類型的編輯器更改基礎數據模型。
相關問題
- 1. 使用JDOM進行XML解析
- 2. Java jdom xml解析
- 3. java jdom編輯xml文件
- 4. Xml namspace使用JDOM解析
- 5. XML - 解析使用JDOM
- 6. 解析XML與JDOM
- 7. 使用JDOM編輯XML文件
- 8. JDOM使用變音符號解析XML
- 9. 使用JDOM將文本解析爲XML
- 10. 如何監控Java中的XML解析(使用JDOM)?
- 11. 用於在Java中編輯XML內容的XML解析器
- 12. JDOM BPMN解析jdom
- 13. 使用Sax解析在VB6中編輯和寫入XML
- 14. 在java中使用jdom創建xml
- 15. 使用XML編輯器解析DTD
- 16. 使用CMD批解析\編輯XML值
- 17. 使用JDOM Java拆分XML
- 18. 使用Matcher和Regex進行Java解析
- 19. 使用JDOM在java中進行XML解析(getChildren方法不返回任何列表)
- 20. 使用Java進行解析或使用Oracle解析器進行解析
- 21. 使用java xml解析器進行XML解析的內部實現細節
- 22. REST API - 在Android上使用Java進行XML解析
- 23. 解析多個xml文件,JDOM
- 24. 遞歸解析XML文件JDOM
- 25. Jdom XML解析器 - 輸出重複值
- 26. 如何使用jQuery在解析的XML中編輯標記?
- 27. 使用Powershell進行手術XML編輯
- 28. 使用DOM解析器和SAX解析器進行Android XML解析的區別
- 29. Java和解析XML
- 30. 使用Java在Beanshell中編輯XML值?
感謝您的回答。它幫助了我越來越多地進入JAXB,我發現它比我以前的解決方案更適合我的問題。再次感謝。 – Halufolia
很酷。順便說一下,我相信JAXB提供了一種在JavaBeans和相應XML的DOM之間進行同步的方式,這意味着一方的變化傳播到另一方。這可能是有用的。我還沒有嘗試過這個,也許DOM正是你不想要的,但它可能是一個很好的領導。 –