XML이란?
XML(eXtensible Markup Language)은 데이터를 구조적으로 표현하기 위해 설계된 태그 기반의 마크업 언어입니다. HTML과 비슷한 형식을 갖고 있지만,표현보다는 데이터의 구조화와 전송에 초점이 맞춰져 있습니다.
이처럼 XML은 누구나 태그를 정의하고 데이터를 구조화할 수 있어, 다양한 시스템 간의 데이터 교환 포맷으로 널리 사용됩니다.
<user>
<name>홍길동</name>
<email>hong@example.com</email>
</user>
이처럼 XML은 누구나 태그를 정의하고 데이터를 구조화할 수 있어, 다양한 시스템 간의 데이터 교환 포맷으로 널리 사용됩니다.
XML을 사용하는 이유
- 사람과 기계가 모두 읽을 수 있음 - 직관적인 구조로 사람도 쉽게 이해 가능
- 플랫폼 독립성 - 다양한 언어/OS에서 읽고 쓸 수 있음
- 데이터 호환성 - 웹, API, 문서 포맷 등과 쉽게 연동 가능
- 검증 가능 - DTD, XML Schema를 통해 문법과 구조 검사 가능
XML 기본 구조
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>철수</to>
<from>영희</from>
<message>안녕! 잘 지내?</message>
</note>
<?xml ...?>
: XML 선언<note>
: 루트(root) 엘리먼트<to>
,<from>
: 자식 엘리먼트철수
,영히
: 텍스트 노드
XML vs JSON
요즘은 간결한 JSON이 대세지만, 여전히 많은 전통적인 시스템과 문서 표준에서는 XML이 활발히 사용됩니다.
항목 | XML | JSON |
---|---|---|
문법 | 태그 기반 | 키-값 쌍 기반 |
가독성 | 다소 장황 | 상대적으로 간결 |
데이터 표현력 | 속성 + 구조 표현 가능 | 구조 표현 중심 |
스키마 검증 | DTD, XSD 지원 | JSON Schema로 가능 |
사용 분야 | 문서 교환, 웹 서비스 | REST API, 프론트엔드 |
XML 활용 사례
- 전자문서 표준 (전자세금계산서, 공공기관 문서 등)
- SOAP API 통신 포맷
- RSS/Atom 피드
- Microsoft Office 내부 포맷 (예: .docx, .xlsx)
- Android 레이아웃 파일 (.xml로 UI 정의)