XML이란?

김세빈·2025년 4월 2일

CS

목록 보기
2/22

XML이란? JSON과 유사한 데이터 교환 형식

데이터를 표현하고 교환하기 위해 JSON이 널리 쓰이고 있지만, JSON과 비슷한 역사적 흐름을 갖고 있는 XML 또한 중요한 데이터 형식 중 하나입니다. 이번 글에서는 XML마크업(Markup)이란 무엇인지, 그리고 XML이 HTML, JSON과 어떤 점에서 다른지를 간단히 살펴보겠습니다.


1. 마크업(Markup)이란?

마크업 언어란, 태그(Tag)를 사용하여 문서의 구조를 나타내는 언어입니다.

예시로 HTML과 XML이 대표적인 마크업 언어인데, 둘 다 열고 닫는 태그를 통해 데이터(혹은 문서)의 계층 구조를 표현합니다.

  • HTML: <p>안녕하세요</p>
  • XML: <message>안녕하세요</message>

2. XML의 기본 구조

XML 문서는 일반적으로 다음과 같은 요소들로 구성됩니다.

  1. 프롤로그 (Prologue)

    <?xml version="1.0" encoding="UTF-8"?>
    • XML 버전이나 인코딩 방식을 지정하는 부분
  2. 루트 요소 (Root Element)

    <root>
      ...
    </root>
    • 모든 XML 문서에는 반드시 단 하나의 루트 요소가 있어야 합니다.
  3. 하위 요소들 (Child Elements)

    <root>
      <child>내용</child>
      <child>다른 내용</child>
    </root>

3. HTML과 XML의 차이점

항목HTMLXML
주용도데이터 표시(뷰)데이터 저장/전달(교환)
태그 정의미리 정의된 태그 사용원하는대로 커스텀 가능
대소문자대소문자 구분 X대소문자 구분 O
유연성구조가 고정적, 브라우저 렌더링 중심구조가 자유롭고 유연함

HTML은 웹 페이지를 보여주기 위해 만들어졌지만, XML은 데이터를 저장하고 전송하기 위해 고안된 마크업 언어


4. JSON vs. XML

  • 표현 방식

    • JSON: { "key": "value" } 형태의 키-값 쌍을 중심으로 표현
    • XML: <key>value</key> 형태의 태그 중심으로 표현
  • 무게감

    • JSON: { }, [ ], , 등 최소한의 구문
    • XML: <태그></태그>로 감싸야 하므로 더 많은 텍스트가 필요 → 무겁다
  • 파싱(Parsing)

    • JSON: JSON.parse()로 자바스크립트 객체로 바로 변환 (내장)
    • XML: 자바스크립트에서 XML을 다루려면 DOMParser, 라이브러리 등이 필요해 구현이 더 복잡

간단하고 빠른 데이터 전송이 필요한 경우 JSON이 더 선호되는 추세지만, 여전히 XML이 활용되는 영역이 존재합니다.


5. XML의 활용: 사이트맵(Sitemap XML)

XML이 대표적으로 쓰이는 곳 중 하나가 사이트맵(Sitemap) 입니다. 사이트맵은 검색 엔진(구글, 네이버 등)에 내가 운영 중인 웹사이트의 페이지 구조를 알려 주는 용도로 사용됩니다.

<?xml version="1.0" encoding="UTF-8"?>
<urlset 
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
>
  <url>
    <loc>https://my-service.com/</loc>
    <lastmod>2025-04-01</lastmod>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://my-service.com/about</loc>
    <lastmod>2025-03-28</lastmod>
    <priority>0.8</priority>
  </url>
</urlset>

검색 엔진 최적화(SEO)

  • SEO(Search Engine Optimization): 검색 엔진의 검색 결과 페이지에서 웹사이트의 노출 순위를 높이기 위한 작업
  • 사이트맵은 크롤링 봇이 웹사이트의 구조를 더 쉽게 파악하도록 도움
  • 구글, 네이버 등의 크롤링 봇은 여러 페이지를 돌아다니면서 정보를 수집(크롤링)하고 그 정보를 데이터베이스에 저장
  • 사이트맵을 통해 “내 사이트에 이런 페이지들이 있어!” 하고 구체적인 힌트를 주면, 검색 엔진에 잘 노출될 가능성이 높아짐

마무리

  • XML은 마크업 언어로서 데이터를 구조적으로 표현할 수 있는 형식입니다.
  • 과거에는 데이터 교환 형식으로 XML이 널리 사용되었지만, 요즘은 JSON이 더 간편해 많이 쓰입니다.
  • 그럼에도 HTML처럼 태그로 구조를 명확히 표현할 수 있다는 점과 커스텀 태그를 원하는 대로 정의할 수 있다는 장점 덕분에 여전히 사이트맵 등 일부 영역에서 XML은 꾸준히 사용 중입니다.

XML과 JSON, HTML을 모두 이해하면 웹 전반의 기술 스택을 더 폭넓게 다룰 수 있게 됩니다. 앞으로도 각 기술을 현명하게 선택하여 프로젝트를 구성해보세요!

0개의 댓글