본질적으로 동일하게 구조화 된 XML 요소 목록 인 XML 문서를 반복하고 싶습니다. 요소는 Java 객체로 직렬화됩니다.Java에서 XML 요소 목록 읽기
<root>
<element attribute="value" />
<element attribute="value" />
<element attribute="value" />
...
</root>
루트 요소 내에 많은 요소가 있습니다. 나는 그들을 모두 메모리에로드하지 않는 것을 선호합니다. SAX 처리기를 사용할 수 있다는 것을 알았지 만 SAX 처리기를 사용하여 모든 것을 Java 객체로 비 직렬화 할 수 있습니다. JDOM은 사용하기가 매우 쉽지만 JDOM이 항상 전체 트리를 구문 분석한다고 말할 수있는 한 찾을 수 있습니다. JDOM을 사용하여 하위 요소를 한 번에 하나씩 파싱 할 수있는 방법이 있습니까?
JDOM을 사용하는 또 다른 이유는 해당 Java 객체에 대해 직렬화/직렬화 코드를 쉽게 작성할 수 있다는 점입니다. 이는 전체적으로 메모리에 없더라도 의미가 없습니다. 그러나, 나는 동시에 모든 자바 객체를 메모리에로드하고 싶지 않다. 오히려, 나는 한 번 그들을 반복하고 싶다.
업데이트 : 여기 dom4j에서 수행하는 방법의 예가 있습니다 : http://docs.codehaus.org/display/GROOVY/Reading+XML+with+Groovy+and+DOM4J. 어쨌든 jdom에서 이것을 할 수 있을까요?
당신은 [JSefa] (http://jsefa.sourceforge.net/)를 봐야 할 것입니다. 그것은별로 인기는 없지만 간단하고 사용하기 쉽습니다. 예제를 다운로드하여 살펴보아야합니다. – FrVaBe