XML 최종 수정일 2026-06-24 00:07 조회수 1
대시보드

XML

기본 정보

  • 명칭: XML
  • 영문명: Extensible Markup Language
  • 한글명: 확장 가능한 마크업 언어
  • 분류: 데이터 저장 및 교환 포맷
  • 개발 기관: World Wide Web Consortium (W3C)
  • 최초 권고안: 1998년
  • 주요 용도: 데이터 저장, 시스템 간 데이터 교환, 설정 파일
  • 관련 주제: #XML #HTML #JSON #데이터포맷 #API

개요

XML은 데이터를 구조화하여 저장하고 전달하기 위해 만들어진 마크업 언어이다.

HTML이 화면 표시를 목적으로 한다면 XML은 데이터 자체를 표현하는 데 목적이 있다.

과거에는 웹 서비스, ERP, 금융 시스템, 공공기관 시스템, RSS 피드 등에서 매우 많이 사용되었으며 현재는 JSON 사용 비중이 높아졌지만 여전히 다양한 시스템에서 활용되고 있다.


XML 구조

XML Document

↓

Element

↓

Attribute

↓

Value

예시

<user>
    <name>구름</name>
    <age>30</age>
</user>

기본 문법

선언부

<?xml version="1.0" encoding="UTF-8"?>

XML 문서의 시작 부분에 위치한다.


요소(Element)

<name>구름</name>
  • 시작 태그
  • 내용
  • 종료 태그

로 구성된다.


속성(Attribute)

<user id="1">
    구름
</user>

속성은 추가 정보를 저장한다.


중첩 구조

<user>

    <name>구름</name>

    <age>30</age>

</user>

트리(Tree) 구조로 표현된다.


XML 트리 구조

user

├─ name

└─ age

XML 문서는 기본적으로 계층 구조를 가진다.


예제

회원 정보

<?xml version="1.0" encoding="UTF-8"?>

<member>

    <id>1</id>

    <name>구름</name>

    <email>cloud@example.com</email>

</member>

상품 정보

<product>

    <name>노트북</name>

    <price>1500000</price>

</product>

XML과 HTML 차이

XMLHTML
데이터 표현화면 표시
태그 직접 정의 가능정해진 태그 사용
데이터 저장 목적UI 구성 목적
엄격한 문법비교적 자유로움

HTML

<h1>Hello</h1>

XML

<message>Hello</message>

XML과 JSON 비교

XML

<user>

    <name>구름</name>

    <age>30</age>

</user>

JSON

{
  "name": "구름",
  "age": 30
}

XMLJSON
태그 기반Key-Value 기반
용량 큼용량 작음
가독성 낮음가독성 높음
스키마 지원 강함단순함
과거 시스템 활용현대 API 표준

DTD

DTD(Document Type Definition)는 XML 구조를 정의한다.

<!DOCTYPE user [
<!ELEMENT user (name, age)>
]>

XSD

XML Schema Definition

<xs:element

name="user"

type="string"
/>

DTD보다 강력한 검증 기능을 제공한다.


XPath

XML 내부 데이터를 조회하기 위한 문법이다.

/user/name

결과

구름

XSLT

XML 데이터를 HTML 등으로 변환하는 기술이다.

XML

↓

XSLT

↓

HTML

AJAX와 XML

초기 AJAX는 XML 데이터를 사용하였다.

AJAX

=

Asynchronous JavaScript

And XML

현재는 대부분 JSON을 사용한다.


XML 활용 분야

  • ERP
  • 금융 시스템
  • 공공기관 시스템
  • RSS 피드
  • Android 설정 파일
  • Maven 설정
  • Spring 설정
  • SOAP API
  • Office 문서 형식

Android XML

안드로이드 UI는 XML로 작성된다.

<TextView

android:text="Hello"
/>

Maven pom.xml

Java 프로젝트 설정 파일

<dependency>

    <groupId>org.springframework</groupId>

</dependency>

Sitemap.xml

SEO에서 사용하는 사이트맵

<url>

<loc>

https://example.com

</loc>

</url>

RSS Feed

블로그 및 뉴스 구독에 사용된다.

<rss>

<channel>

<item>

</item>

</channel>

</rss>

장점

  • 구조화된 데이터 표현
  • 플랫폼 독립적
  • 스키마 검증 가능
  • 계층 구조 표현 우수
  • 다양한 시스템 지원

단점

  • 데이터 용량 큼
  • 문법이 복잡함
  • JSON보다 가독성 낮음
  • 처리 속도가 느릴 수 있음
  • 현대 API에서는 사용 감소

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • 신규 API는 JSON 우선 고려
  • XML 연동은 레거시 시스템 대응 시 활용
  • Sitemap.xml은 SEO 필수
  • RSS Feed 제공 검토
  • XML 파싱 시 인코딩 확인
  • XSD 검증 적용
  • SOAP 연동 시 XML 이해 필요
  • Android 개발 시 XML 활용
  • Maven 및 Spring 설정 파일 이해
  • 외부 시스템 연동 시 XML 지원 여부 확인

XML과 함께 사용하는 기술


대표 활용 사례

  • Sitemap.xml
  • RSS Feed
  • Android Layout
  • Maven pom.xml
  • Spring 설정 파일
  • SOAP API
  • ERP 데이터 교환
  • 금융 전산 시스템

관련 문서


출처

  • W3C XML Specification
  • MDN Web Docs - XML
  • XML Schema 표준 문서

메모

  • XML과 JSON 비교 문서 작성 권장
  • XPath 심화 문서 작성 가능
  • XSD 검증 문서 작성 가능
  • SOAP API 연동 가이드 작성 가능
  • Sitemap.xml 생성 가이드 작성 가능
  • JSON, SOAP, RSS와 상호 링크 추천