XML, XML 파싱

mingggkeee·2022년 1월 30일
1

Java

목록 보기
14/20

XML

  • Markup Language
    • 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어
    • HTML, SGML
  • XML(Extensible Markup Language)
    • HTML과 다르게 필요에 따라서 태그를 확장해서 사용 가능

기본 문법

  • 문서의 시작은 <?xml version="1.0" encoding="UTF-8"?> 로 한다.
  • 반드시 root element가 존재해야함(나머지 태그들은 Tree형태로 구성)
  • 대소문자를 구별
  • 시작 태그는 key-value 구조의 속성을 가질 수 있다.
  • 규칙을 잘 준수한 문서를 Well formed 라고 한다.

파싱

  • 문서에서 필요한 정보를 얻기 위해 태그를 구별하고 내용을 추출하는 과정
  • SAX parser
    • Simple API for XML parser
    • 문서를 읽으면서 태그의 시작, 종료 등 이벤트 기반으로 처리하는 방식
  • DOM parser
    • Document Object Model
    • 문서를 다 읽고 난 후 문서 구조 전체를 자료구조에 저장하여 탐색하는 방식
  • SAX는 빠르고 한번에 처리하기 때문에 다양한 탐색이 어렵다
  • DOM은 다양한 탐색이 가능하지만 느리고 무거우면 큰 문서를 처리하기 어렵다

SAX Parser

  • 동작방식
    • 문서를 읽다가 발생하는 이벤트 기반으로 문서 처리

DOM Parser

  • 동작 방식
    • 문서를 완전히 메모리에 로딩 후 필요한 내용 찾기
  • DOM Tree
    • 문서를 구성하는 모든 요소를 Node(태그, 속성, 값)로 구성
    • 태그들은 root 노드(주소록)을 시작으로 부모-자식의 관계 구성

JSON 파싱

JSON

  • Javascript Object Notation(자바스크립트에서의 객체 표현법)
  • 간결한 문법, 단순한 테스트, 적은 용량으로 대부분의 언어, 대부분의 플랫폼에서 사용 가능
  • 객체를 key-value의 쌍으로 관리
  • 다양한 라이브러리를 이용한 간편한 사용
profile
만반잘부

0개의 댓글