프로그래밍/웹(Web)

XML이란? 개념 완벽 정리!

TechN 2025. 2. 3. 22:56
반응형

XML에 대한 인포그래픽

 

XML이란? 데이터 저장과 교환을 위한 표준 포맷 완벽 정리

인터넷과 소프트웨어에서 데이터 교환이 필수적인 시대가 되면서 JSON, XML 같은 데이터 포맷이 중요해졌습니다.
그중에서도 XML(Extensible Markup Language)은 구조화된 데이터를 저장하고 교환하는 표준 형식으로 오랫동안 사용되어 왔습니다.

이번 글에서는 XML이 무엇인지, JSON과의 차이점, 실제 사용 사례, 예제 코드와 함께 쉽게 이해할 수 있도록 설명하겠습니다.

 

1. XML이란?

XML(Extensible Markup Language, 확장 가능한 마크업 언어)은 데이터를 저장하고 구조화하여 교환하기 위한 포맷입니다.

XML의 핵심 개념

  • 사람과 기계가 읽을 수 있는 데이터 표현 방식
  • 태그(Tag) 기반의 데이터 구조
  • HTML과 유사하지만 데이터 저장을 위한 용도로 사용됨
  • 서버와 클라이언트 간 데이터 교환, 설정 파일 등에 활용됨

 

2. XML을 쉽게 이해하기 (일상 속 예시)

XML을 책의 목차에 비유하기

책을 읽을 때, 목차(Table of Contents)를 보면 내용이 정리되어 있는 것을 알 수 있습니다.

XML을 이용하면 데이터를 체계적으로 구조화하여 저장할 수 있습니다.
예를 들어, 도서 정보를 저장하는 XML 문서는 다음과 같습니다.

 

<도서>
    <제목>XML의 모든 것</제목>
    <저자>홍길동</저자>
    <출판사>한빛미디어</출판사>
    <출판년도>2023</출판년도>
</도서>

 

3. XML의 기본 문법

XML은 HTML과 유사하지만 데이터 저장을 위한 구조화된 언어입니다.

XML 문법의 주요 요소

  1. 태그(Tag) 사용: <태그>내용</태그> 형태로 구성
  2. 중첩(Nesting) 가능: <부모><자식></자식></부모> 구조 사용
  3. 속성(Attribute) 사용 가능: <태그 속성="값">내용</태그>

XML 기본 예제

<학생>
    <이름>김철수</이름>
    <학년>3학년</학년>
    <전공>컴퓨터공학</전공>
</학생>
 

이해 포인트:

  • XML 문서는 계층 구조(Tree Structure)를 가짐.
  • HTML과 비슷하지만 데이터를 저장하는 용도로 사용됨.

 

4. XML과 JSON의 차이점

JSON과 XML은 서로 다른 데이터 교환 방식으로, 각각의 장단점이 있습니다.

비교 항목XMLJSON

구조 태그 기반 키-값 기반
가독성 사람이 읽기 쉬움 더 간결함
데이터 크기 크기가 큼 가벼움
데이터 타입 문자열만 저장 가능 숫자, 배열 등 다양한 타입 지원
사용 분야 설정 파일, 문서 저장 웹 API, 데이터 교환

이해 포인트:

  • XML은 구조화된 데이터 표현에 적합, JSON은 가볍고 웹 API에서 많이 사용.
  • 대규모 데이터나 문서 저장에는 XML이 유리.

 

5. XML의 주요 활용 사례

활용 분야설명

설정 파일 (Config 파일) 프로그램의 설정 값을 저장하는데 사용 (예: .xml 설정 파일)
웹 서비스 (SOAP API) XML을 이용해 데이터를 주고받는 프로토콜
문서 저장 및 전송 뉴스 기사, 전자 문서 저장
데이터베이스 연동 XML 기반 데이터 저장 및 변환

 

 

6. XML의 동작 방식과 예제 코드

1) XML 문서 저장 예제

xml
복사편집
<음악> <노래 제목="가을바람"> <가수>아이유</가수> <앨범>가을의 시작</앨범> <장르>발라드</장르> </노래> <노래 제목="여름밤"> <가수>방탄소년단</가수> <앨범>SUMMER</앨범> <장르></장르> </노래> </음악>

<음악>
    <노래 제목="가을바람">
        <가수>아이유</가수>
        <앨범>가을의 시작</앨범>
        <장르>발라드</장르>
    </노래>
    <노래 제목="여름밤">
        <가수>방탄소년단</가수>
        <앨범>SUMMER</앨범>
        <장르>팝</장르>
    </노래>
</음악>

2) JavaScript에서 XML 파싱하기

const parser = new DOMParser();
const xmlString = `<도서><제목>XML 입문</제목><저자>홍길동</저자></도서>`;
const xmlDoc = parser.parseFromString(xmlString, "text/xml");

console.log(xmlDoc.getElementsByTagName("제목")[0].textContent); // 출력: XML 입문

 

3) Python에서 XML 데이터 다루기

import xml.etree.ElementTree as ET

xml_data = """<학생>
    <이름>김철수</이름>
    <학년>3학년</학년>
    <전공>컴퓨터공학</전공>
</학생>"""

root = ET.fromstring(xml_data)
print(root.find("이름").text)  # 출력: 김철수

 

7. XML의 장점과 단점

장점설명

데이터 구조화 가능 트리 구조를 통해 복잡한 데이터 표현 가능
사람이 읽기 쉬움 HTML과 비슷하여 직관적으로 이해 가능
문서 저장에 적합 전자문서, 뉴스, 설정 파일 등에 활용 가능
표준화된 형식 W3C 표준으로 널리 사용됨

단점설명

데이터 크기 큼 태그 사용으로 인해 파일 크기가 커질 수 있음
처리 속도 느림 JSON보다 파싱 속도가 느림
데이터 타입 한정적 JSON처럼 숫자, 배열 등을 직접 저장할 수 없음

이해 포인트:

  • 대규모 문서 저장, 문서 포맷 관리에는 XML이 적합.
  • API, 웹 개발에서는 JSON이 더 많이 사용됨.

 

8. XML을 사용해야 하는 경우

사용 환경XML 적합 여부

설정 파일 저장 (Config) 적합
SOAP API 사용 적합
전자문서, 뉴스 데이터 저장 적합
웹 API 개발 (REST API) JSON이 더 적합

이해 포인트:

  • XML은 데이터 저장과 문서 포맷 관리에 적합.
  • JSON은 웹 API에서 더 많이 사용됨.

 

9. 결론: XML이란?

  • XML은 데이터를 저장하고 교환하기 위한 마크업 언어.
  • 태그(Tag) 기반의 트리 구조로 데이터를 구조화하여 저장 가능.
  • 설정 파일, 문서 저장, SOAP API 등에 주로 사용됨.
  • JSON과 비교했을 때, 문서 저장에는 XML이 적합하고, 데이터 교환에는 JSON이 더 적합.

XML은 현재도 다양한 분야에서 사용되는 데이터 저장 및 교환 포맷으로, 개발자가 반드시 알아야 할 기술입니다.

반응형