我需要走一個JDOM樹並隨着我的進行進行更改;在這一點上,變化現在大多是添加新元素,但也可能包括重新排序元素或刪除元素。所有工作都在同一個線程上完成,因此沒有併發問題。使用JDOM重寫XML/DOM樹的問題(ConcurrentModificationException)
事實證明這很困難,因爲如果您嘗試在遍歷期間添加節點,JDOM迭代器可能會拋出ConcurrentModificationException。從我所看到的,JDOM使用列表而不是直接鏈接DOM節點,這使得很難在飛行中進行修改。
我已經看到了一些關於如何處理這個問題的建議,比如在遍歷完成之後推遲添加,或者動態構建新樹以便遍歷樹保持不變。這些對我來說不起作用,因爲我需要對樹進行一致的視圖修改。
我開始懷疑JDOM不會在這裏工作。其他任何Java DOM模型是否使這更容易?或者有沒有辦法在JDOM中做到這一點?
不要認爲這樣做會很好。我提供了在每個節點上定義轉換的功能,並且腳本模型允許在轉換過程中檢查樹的其餘部分。任何類型的延期更新都意味着腳本編寫者需要處理這個問題。 – jdigital 2009-02-26 03:45:24
你會建議裝飾一個JDOM節點(元素)的技術是什麼? – jdigital 2009-02-26 03:46:45