문제 : 의 데이터 및 응용 프로그램에 대한 관심의 특정 요소의 계층 구조를 모두 포함하는 XML 파일이 있다고 가정 해 봅시다 :계층 구조 및 데이터 구조 자바 (또는 XML 변환 객체에 : 모범 사례를)
가<root>
<node title="lvl1Node">
<node title="lvl2Node">
<node title="lvl3Node"></node>
</node>
</node>
<node title="lvl1Node2"></node>
<node title="lvl1Node3">
<node title="lvl2Node2">
<node title="lvl3Node2">
<node title="lvl4Node"></node>
</node>
</node>
</node>
</root>
이제 애플리케이션이 이러한 노드를 검색하기 위해 API를 제공해야한다고 가정 해 보겠습니다. 계층에 대한 정보를 잃지 않고 노드를 반환하는 메서드를 작성해야합니다.
제 질문은 어떻게 생각하세요? 어떤 종류의 데이터 유형을 사용할 것입니까? 트리 데이터 유형은 분명한 해답이지만 표준 Collections API에서는 제공되지 않으며 직접 작성하는 것이 항상 최후의 수단입니다 (프로그래머는 게으르다, 바퀴를 다시 만드는 등).
또한 각 항목이 Object (하위 노드가없는 노드의 경우) 또는 Arraylist (하위 노드가있는 노드의 경우) 중 하나 인 ArrayList를 생각했지만 제네릭을 좋아하고 이것은 해킹처럼 느껴집니다. 더 똑똑한 방법이 있습니까?
... 의심스럽게 DOM과 비슷하게 보입니다. –
DOM이 정확히 무엇을 의미하는지 모르겠지만 때로는 문서를 한 곳에서 파싱하고 데이터를 추출하여 코드의 다른 곳에서 사용할 수 있도록해야합니다. 이것은 실제로 구조를 시뮬레이션하고 데이터를 저장하기 때문에 최상의 솔루션입니다. – javito
그런 식으로 XML에 액세스하기위한 API가 이미 있다는 것을 의미하며 문서 객체 모델이라고합니다. http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JAXPDOM.html –