Open a-young-kim opened 2 months ago
단순히 xml에 작성한 태그들의 관계를 표현한게 DOM 이라고 이해했습니다. DOM 방식의 XML API는 아래와 같이 간접적으로 문자열 또는 관계만을 이용해 파싱해야 하지만
NodeList childeren = root.getChildNodes(); // 자식 노드 목록 get
for(int i = 0; i < childeren.getLength(); i++){
Node node = childeren.item(i);
if(node.getNodeType() == Node.ELEMENT_NODE){ // 해당 노드의 종류 판정(Element일 때)
Element ele = (Element)node;
String nodeName = ele.getNodeName();
...
JAXB를 사용하면 컴파일 타임에 XML의 구조를 분석하여 DTO 같은 클래스를 만들어주기 때문에 명시적으로 자바 객체를 다루는 것 처럼 편하게 사용할 수 있다고 얘기하는 것 같습니다.
p. 568
DOM과 같은 전통적인 XML API와 비교했을 때 JAXB의 장점은 XML 문서정보를 거의 동일한 구조의 오브젝트로 직접 매핑해 준다는 것이다. DOM은 XML 정보를 마치 자바 리플랙션 API를 사용해서 오브젝트를 조작하는 것처럼 간접적으로 접근해야 하는 불편이 있다.
이 부분에서 다음과 같은 의문이 생겼습니다.