XML(Extensible Markup Language)은 데이터를 표현하고 교환하기 위한 표준 마크업 언어이다.
XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌다.
또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.
XML은 HTML과 같이 트리(tree)형태의 계층구조를 이루고 있다.
XML 문서는 맨 첫 줄에 <xml>
태그를 사용하여 XML 문서임을 명시해야 한다.
이것을 XML 프롤로그(prolog)
라고 하며, 이때 사용되는 <xml>
태그의 이름은 소문자 xml로만 사용해야 한다.
<?xml version="XML문서버전" encoding="문자셋" standalone="yes|no"?>
문서 타입 정의(DTD)
문서 타입 정의(DTD)는 XML 문서의 구조 및 해당 문서에서 사용할 수 있는 적법한 요소와 속성을 정의한다.
DTD는 XML 문서 내부에 명시할 수도 있으며, 별도의 파일로 분리할 수도 있다
XML은 태그와 속성을 사용하여 데이터를 표현한다.
<person name="John" age="30">...</person>.
JSON은 키-값 쌍을 사용하여 데이터를 표현한다.
{"name": "John", "age": 30}.
가독성:
XML은 태그와 속성으로 인해 데이터 구조를 더 잘 설명할 수 있어 가독성이 높습니다.
JSON은 간결한 구문으로 인해 가독성이 상대적으로 더 좋습니다.
JSON은 XML에 비해 데이터 크기가 작아 전송 및 저장 측면에서 효율적이다.
JSON은 JavaScript 기반의 데이터 형식이므로 JavaScript 환경에서 사용하기 편리하다.
XML은 다양한 프로그래밍 언어에서 지원되므로 언어 독립적이다.
XML은 사용자 정의 태그를 사용할 수 있어 데이터 모델링에 더 유연하다.
JSON은 기본 데이터 유형(문자열, 숫자, 불리언, 배열, 객체)만 사용하므로 확장성이 상대적으로 제한적이다.
JSON은 XML에 비해 구문 분석 및 처리 속도가 빠릅니다.
장점
단점
장점
단점