들어가며
XML은 구조화된 데이터를 표현하기 위한 대표적인 마크업 언어입니다.
초기에는 웹 데이터 전송 포맷으로 널리 사용되었고, 지금도 설정 파일, 메시지 전송, 데이터 저장 등 다양한 영역에서 활용되고 있습니다.
이 글은 📂 language / xml 카테고리의 시작점으로서, XML의 개념, 문법 구조, JSON과의 차이, 그리고 실무에서 어떻게 활용되는지를 정리합니다.

XML이란?
XML(eXtensible Markup Language)은 사용자 정의 태그로 데이터의 구조와 의미를 표현할 수 있는 마크업 언어입니다.
- SGML에서 파생된 경량화된 언어
- 태그를 자유롭게 정의 가능 (≠ HTML의 고정된 태그)
- 플랫폼/언어 독립적인 데이터 표현 방식
"XML은 데이터를 설명하기 위한 언어"라고 요약할 수 있습니다.
XML 기본 구조 예시
<?xml version="1.0" encoding="UTF-8"?>
<book>
<title>XML 입문</title>
<author>홍길동</author>
<price>12000</price>
</book>
요소 | 설명 |
<book> | 루트 요소 (하나만 존재해야 함) |
<title> 등 | 자식 요소들, 중첩 구조 가능 |
<?xml ...?> | XML 선언문 (버전/인코딩 정의) |
XML의 문법 규칙 요약
- 반드시 루트 태그 하나만 존재해야 함
- 시작 태그와 종료 태그는 짝을 맞춰야 함 (<tag>...</tag>)
- 대소문자 구분 (<Tag> ≠ <tag>)
- 속성은 따옴표로 감싸야 함 (<user name="홍길동">)
- 태그는 중첩 가능하지만 교차 금지 (X: <a><b></a></b>)
XML vs JSON 비교
항목 | XML | JSON |
문법 | 마크업 기반 | 키-값 쌍 기반 |
표현력 | 복잡한 계층 구조 표현에 강함 | 간결하고 읽기 쉬움 |
타입 명시 | 없음 (모두 문자열로 처리) | 숫자, 불리언 등 기본 타입 존재 |
파싱 방식 | DOM, SAX 등 다양한 방식 | 파싱이 간단함 (JavaScript 친화적) |
최근 웹 API에서는 JSON이 주로 사용되지만, 설정 파일이나 메시지 포맷에서는 여전히 XML이 강력한 대안입니다.
XML의 활용 분야
- ✅ 설정 파일 (pom.xml, web.xml, .classpath 등)
- ✅ SOAP 기반의 웹 서비스 메시지 포맷
- ✅ RSS / Atom 피드 (뉴스, 블로그 구독용)
- ✅ 데이터 교환 (특히 이기종 시스템 간 통신)
- ✅ XSLT, XPath 등과 결합한 데이터 변환
앞으로 다룰 XML 시리즈 예고
📂 language / xml 카테고리에서는 다음과 같은 내용을 다룰 예정입니다:
- XML 기본 문법과 유효한 문서 조건
- XML Schema(XSD)를 통한 데이터 구조 정의
- XPath로 XML 데이터 조회하기
- Java, Python에서 XML 파싱 실습
- HTML과의 차이점 및 마크업 철학 비교
- RSS, Maven 등 실무에서 쓰이는 XML 예시 해석
XML은 단순히 오래된 기술이 아니라, 여전히 살아 있고 강력한 데이터 표현 언어입니다.
정적인 구조부터 동적인 메시지 포맷까지, XML의 기본을 함께 정리해보며 데이터 구조화의 근본 개념을 배워봅시다.
📌 다음 글 미리보기
👉 XML 기본 문법과 유효한 문서 조건
📚 XML 시리즈 전체 보기
👉 https://jobreview.tistory.com/category/language/xml
댓글