XML 알아보기

이종경·2024년 7월 17일
0
post-thumbnail

XML 이란?

XML(Extensible Markup Language)은 데이터를 표현하고 교환하기 위한 표준 마크업 언어이다.

XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌다.

또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.

XML 트리

XML은 HTML과 같이 트리(tree)형태의 계층구조를 이루고 있다.
xml

XML 문법

xml 선언

XML 문서는 맨 첫 줄에 <xml>태그를 사용하여 XML 문서임을 명시해야 한다.
이것을 XML 프롤로그(prolog)라고 하며, 이때 사용되는 <xml>태그의 이름은 소문자 xml로만 사용해야 한다.

<?xml version="XML문서버전" encoding="문자셋" standalone="yes|no"?>
  • version : XML 문서에 사용된 버전을 명시한다
  • encoding : XML 문서의 문자셋(character set)을 명시하며 기본값은 UTF-8이다
  • standalone : XML 문서가 외부 DTD(Document Type Definition)와 같은 외부 소스의 데이터에 의존하고 있는 문서인지 아닌지를 XML 파서(parser)에 알려주는 역할을 한다.

문서 타입 정의(DTD)
문서 타입 정의(DTD)는 XML 문서의 구조 및 해당 문서에서 사용할 수 있는 적법한 요소와 속성을 정의한다.
DTD는 XML 문서 내부에 명시할 수도 있으며, 별도의 파일로 분리할 수도 있다

XML 문법

  1. 모든 XML 요소는 종료 태그를 갖는다.
  2. XML 태그는 대소문자를 구분한다.
  3. 시작태그와 종료태그의 대소문자도 모두 같아야 한다.
  4. XML 태그의 여닫는 순서는 반드시 지켜져야 한다.
  5. XML 태그의 속성값은 반드시 따옴표로 감싼다.

XML과 JSON

XML과 JSON의 차이점

1. 구문 구조

XML은 태그와 속성을 사용하여 데이터를 표현한다.

<person name="John" age="30">...</person>.

JSON은 키-값 쌍을 사용하여 데이터를 표현한다.

 {"name": "John", "age": 30}.

가독성:

XML은 태그와 속성으로 인해 데이터 구조를 더 잘 설명할 수 있어 가독성이 높습니다.
JSON은 간결한 구문으로 인해 가독성이 상대적으로 더 좋습니다.

2. 데이터 크기

JSON은 XML에 비해 데이터 크기가 작아 전송 및 저장 측면에서 효율적이다.

3. 프로그래밍 언어 지원

JSON은 JavaScript 기반의 데이터 형식이므로 JavaScript 환경에서 사용하기 편리하다.

XML은 다양한 프로그래밍 언어에서 지원되므로 언어 독립적이다.

4. 확장성

XML은 사용자 정의 태그를 사용할 수 있어 데이터 모델링에 더 유연하다.
JSON은 기본 데이터 유형(문자열, 숫자, 불리언, 배열, 객체)만 사용하므로 확장성이 상대적으로 제한적이다.

5. 처리 속도

JSON은 XML에 비해 구문 분석 및 처리 속도가 빠릅니다.

XML의 장단점

장점

  • 데이터 구조를 더 잘 설명할 수 있다.
  • 사용자 정의 태그를 통해 확장성이 높다.
  • 다양한 프로그래밍 언어에서 지원된다.

단점

  • 데이터 크기가 크고 전송/저장 측면에서 비효율적이다.
  • 구문 분석 및 처리 속도가 상대적으로 느리다.

JSON의 장단점

장점

  • 데이터 크기가 작고 전송/저장 측면에서 효율적이다
  • 구문 분석 및 처리 속도가 빠르다
  • JavaScript 환경에서 사용하기 편리하다

단점

  • 데이터 구조를 설명하는 능력이 상대적으로 제한적이다
  • 확장성이 상대적으로 제한적이다

참고
TCP - XML
HTML과 XML의 차이점은 무엇인가요?

profile
작은 성취들이 모여 큰 결과를 만든다고 믿으며, 꾸준함을 바탕으로 개발 역량을 키워가고 있습니다

0개의 댓글