👉 XML이란?
- 데이터를 저장하고 전송하는 데 사용되는 마크업 언어
- HTML과 유사한 구조를 가지고 있으나, HTML이 웹 페이지의 구조와 디자인을 정의하는 데 주로 사용되는 반면, XML은 데이터의 구조와 의미를 정의하는 데 초점을 맞춤
- 목적에 따라 태그를 직접 정의할 수 있기 때문에 자유로운 형식으로 유연하게 구조화된 문서를 만들 수 있음
- XML은 플랫폼과 독립적이며, 데이터를 소프트웨어와 하드웨어 사이에서 쉽게 공유할 수 있도록 설계되었음
- 데이터 교환, 설정 파일, 인터넷 프로토콜 등 다양한 분야에서 활용
- 웹 서비스에서 데이터를 교환할 때 JSON과 함께 널리 사용되며, 복잡한 데이터 구조를 표현하는 데 용이
- XML 문서는 반드시 잘 정의된 구조를 가져야 함
👉 XML의 기본 구조
- 태그와 속성을 사용하여 데이터를 구성
- 사용자는 자신만의 태그를 정의하여 특정 데이터를 나타낼 수 있으며, 이는 XML을 매우 유연하게 만듦
👉 예제
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="fiction">
<title lang="en">Harry Potter and the Philosopher's Stone</title>
<author>J.K. Rowling</author>
<year>1997</year>
<price>24.99</price>
</book>
<book category="learning">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
<?xml version="1.0" encoding="UTF-8"?>
- XML 문서의 선언 부분으로, XML 문서의 시작을 나타내고, 문서에 대한 기본적인 정보를 제공
<?xml
- XML 선언임을 나타내는 시작 태그
- 이후에 나오는 내용은 XML 처리기가 문서를 올바르게 해석하기 위한 지시사항을 담고 있음
version="1.0"
- 문서가 작성된 XML의 버전을 명시
- 1.0은 가장 일반적으로 사용되는 XML 버전
- XML의 특정 버전이 지원하는 기능과 구문을 기반으로 문서가 작성되었음을 의미
encoding="UTF-8”
- 문서에서 사용된 문자 인코딩 방식을 명시
- UTF-8은 국제적으로 널리 사용되는 문자 인코딩 방식으로, 모든 유니코드 문자를 지원하며 다국어 처리에 적합
- 책 정보를 나타내는 XML 문서
- bookstore 루트 요소
- book 요소는 category라는 속성을 갖고 있음
- book 요소는 책의 title, author, year, price 등의 정보를 자식으로 포함하고 있음
- title 요소는 lang이라는 속성을 가지고 있음