JDOM 트리를 따라 가면서 변경해야합니다. 이 시점에서 변경 사항은 주로 새 요소를 추가하는 것이지만 요소를 재정렬하거나 요소를 제거하는 것도 포함 할 수 있습니다. 모든 작업은 동일한 스레드에서 수행되므로 동시성 문제는 없습니다.JDOM (ConcurrentModificationException)을 사용하여 XML/DOM 트리 재 작성시의 문제
이것은 탐색하는 동안 노드를 추가하려고하면 JDOM 반복기가 ConcurrentModificationException을 throw 할 수 있기 때문에 어렵다는 것을 알 수 있습니다. 내가 볼 수 있듯이, JDOM은 DOM 노드를 직접 연결하는 대신 목록을 사용하기 때문에 수정 작업을 즉시 수행 할 수 없습니다.
트래버스가 완료 될 때까지 추가를 연기하거나 트래버스 된 트리가 변경되지 않도록 즉석에서 새 트리를 작성하는 것과 같이이를 처리하는 방법에 대한 몇 가지 권장 사항을 살펴 보았습니다. 트리를 수정하면서 일관성있는 트리 뷰가 필요하기 때문에 이것들은 저에게 효과적이지 않을 것입니다.
JDOM이 여기서 제대로 작동하지 않을 것으로 생각됩니다. 다른 Java DOM 모델을 사용하면이 작업을 더 쉽게 수행 할 수 있습니까? 아니면 JDOM에서이 작업을 수행 할 수있는 방법이 있습니까?
잘 작동한다고 생각하지 마십시오. 각 노드에서 변환을 정의 할 수있는 기능을 제공하고 있으며 스크립팅 모델을 사용하면 변형 중에 나머지 트리를 검사 할 수 있습니다. 어떤 종류의 지연된 업데이트는 스크립트 작성자가이를 처리해야 함을 의미합니다. – jdigital
JDOM 노드 (요소)를 꾸미기 위해 어떤 기술을 제안 하시겠습니까? – jdigital