자바 API 내 XML Parsing에 쓰이는 클래스 및 인터페이스 관련 포스트입니다.
이 글은 저의 블로그 글 이전의 일환으로 가져왔습니다.
15년 8월 17일 기준 글이라 현재 적용되는 코드와 상이할 수 있습니다.
코드까지 테스트하기는 제한적이라 리뷰느낌으로 저의 의견을 덧붙여 작성하였습니다.
XML 파싱을 할 경우 필요한 API Elements들에 대해 간단하게 정리하면 아래와 같습니다.
DocumentBuilderFactory (extends Object)
XML 문서로부터 DOM Document Instance를 취득하는 API를 정의하고 있습니다.
DocumentBuilder를 사용하기 이전에 위의 클래스를 인스턴스화 하여 DocumentBuilder를 사용할 준비를 합니다.
Example)
DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
DocumentBuilder (extends Object)
XML 경로를 통해 파싱을 준비하게 됩니다.
Parsing을 통해 Document 클래스에 XML 전문을 규격화 하여 보내줍니다.
Example)
DocumentBuilder parser = f.newDocumentBuilder();
Document (extends Node)
HTML 문서 또는 XML 문서의 전체를 나타내기 위한 클래스입니다.
보통 DocumentBuilder를 통해 Parsing한 XML 문서를 받아올 경우 사용합니다.
Example)
Document xmlDoc = parser.parse('url');
Element (extends Object implements DTDConstants, Serializable)
타입, 컨텐츠 모델, 속성, 속성의 타입 등을 기술하는 클래스입니다.
보통 Parser에 의해 실행됩니다.
Example)
Element root = xmlDoc.getDocumentElement();
Node (interface)
문서 트리 내의 단일 노드를 나타냅니다.
하나의 객체에 1가지 Text 노드를 가질 수 있습니다.
(2019년의 Comment : 위 Text라고 표현한 부분에 대해서는 Reference를 다시 확인해봐야 할 듯 합니다.)
Example)
Node node1 = root.getElementsByTagName("TagName").item('순서');
일반적으로 위의 요소들만으로 파싱을 할 수 있습니다.
지금의 제가 다시 하나하나 쳐보면서 훑어보고 있지만, Method 자체가 Deprecated 되지 않은 이상 지금도 활용 가능할 것으로 보여집니다.
추가적으로 HTML과 같은 XML 형태의 문서를 파싱할 때는 Jsoup과 같은 Open API를 많이 활용합니다.
이 부분도 같이 참고하여 보시면 좋을 것 같습니다.
딱히 차이는 없는 것 같네요.
지금까지 자바 API 내 XML Parsing에 쓰이는 클래스 및 인터페이스 정리글이었습니다.
Java와 관련된 다른 글을 보고 싶으시다면 여기를 눌러주세요.