데이터 포맷) XML

2023. 1. 9. 16:52·Computer Science/CS Basic

XML 이란?

 

  • XML은 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어이다.
  • XML은 EXtensible Markup Language의 약자로, 수많은 응용 분야에서 데이터를 저장하고 전달하는 중요한 역할을 맡고 있다.
  • XML은 HTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language)이며 이 언어는 사람과 기계가 동시에 읽기 편한 구조로 되어 있다.
  • 그러나 XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌다.
    또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.

 

XML 의 특징

 

1. XML은 다른 목적의 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어다.
2. XML은 다른 시스템끼리 다양한 종류의 데이터를 손쉽게 교환할 수 있도록 해준다
3. XML은 새로운 태그를 만들어 추가해도 계속해서 동작하므로, 확장성이 좋다.
4. XML은 데이터를 보여주지 않고, 데이터를 전달하고 저장하는 것만을 목적으로 한다.
5. XML은 텍스트 데이터 형식의 언어로 모든 XML 문서는 유니코드 문자로만 이루어진다.

 

  • xml 옆에 <?xml version="1.0" encoding="UTF-8"?> 과 같은 것을 프롤로그라고 한다.
  • 아래 예시의 <programming_languages>과 같은 최상위 태그는 단 하나만 사용이 가능하다.
  • 닫힌 태그가 계속 들어가기 때문에 JSON과 비교하면 무겁다.
  • Javascript Obejct로 변환하기 위해서는 JSON보다 더 복잡하다.
    • JSON 같은 경우는 JSON Parse를 사용하면 간단하게 변환이 된다.

예시)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0" encoding="UTF-8"?>
 
<programming_languages>
 
    <language>
        <name>HTML</name>
        <category>web</category>
        <developer>W3C</developer>
        <version status="working draft">5.1</version>
        <priority rating="1">high</priority>
    </language>
 
    <language>
        <name korean="자바">Java</name>
        <category>application</category>
        <developer>Oracle</developer>
        <version status="stable">8.91</version>
        <priority rating="2">high</priority>
    </language>
 
    <language>
        <name korean="파이썬">Python</name>
        <category>application</category>
        <developer>Python</developer>
        <version status="stable">3.52</version>
        <priority rating="4">middle</priority>
    </language>
 
</programming_languages>
cs

 

sitemap.xml

xml은 대표적으로 sitemap.xml에 쓰인다.

검색 상단 페이지에 노출되도록 하는 검색엔진 최적화(SEO)에 sitemap.xml이 필요시된다.

 

사이트가 너무 크거나 신규 업데이트 되었거나 사이트 내부 링크가 서로 종속적으로 연결되지 않은 경우 크롤러가 일부 페이지를 누락할 수도 있다. sitemap.xml은 이를 방지한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 <? xml version = "1.0"encoding = "UTF-8"?>
<urlset
      xmlns = "http://www.sitemaps.org/schemas/sitemap/0.9"
      xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance"
      xsi : schemaLocation = "http://www.sitemaps.org/schemas/sitemap/0.9
      http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd ">
<URL>
  <loc> https://www.ascentkorea.com/search-engine-optimization/ </ loc>
  <priority> 1.00 </ priority>
  <changefreq> weekly </ changefreq>
</ url>
<URL>
  <loc> https://www.ascentkorea.com/search-data-research-content-marketing/ </ loc>
  <priority> 0.80 </ priority>
  <changefreq> weekly </ changefreq>
</ url>
<URL>
  <loc> https://www.ascentkorea.com/japan-marketing/ </ loc>
  <priority> 0.80 </ priority>
  <changefreq> weekly </ changefreq>
</ url>
<URL>
  <loc> https://www.ascentkorea.com/ascent-korea-official-blog-listeningmind/ </ loc>
  <priority> 0.80 </ priority>
  <changefreq> weekly </ changefreq>
</ url>
</ urlset>
Colored by Color Scripter
cs
'Computer Science/CS Basic' 카테고리의 다른 글
  • 일급 객체(first-class object) 란?
  • 클라우드 서비스의 종류(Iaas, Paas, Saas)
  • API란?
  • 아키텍처(Architecture)
s_y_130
s_y_130
  • s_y_130
    About SY
    s_y_130
  • 전체
    오늘
    어제
    • 분류 전체보기 (431) N
      • JAVA (54)
        • 더 자바 8 (0)
        • JAVA (41)
        • JAVA (JVM) (13)
      • Computer Science (86)
        • CS Basic (7)
        • OOP (11)
        • Design Pattern (16)
        • Network (8)
        • HTTP (6)
        • WEB (22)
        • OS (16)
      • DataBase (29)
        • DB theory (15)
        • MySQL (14)
        • Redis (0)
      • Collection Framework (1)
        • 구현 (1)
      • Data Structure (14)
        • Linear (9)
        • Non-Linear (5)
      • Algorithm (19)
        • Basic (12)
        • 응용 (2)
        • 완전 탐색(Brute Force) (1)
        • 다익스트라 (1)
        • Algorithm Problem (3)
      • Spring (104) N
        • 스프링 핵심 원리 - 기본편 (9)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (7)
        • 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (11)
        • 스프링 DB 1편 - 데이터 접근 핵심 원리 (6)
        • 스프링 DB 2편 - 데이터 접근 활용 기술 (10)
        • 스프링 핵심 원리 - 고급편 (13)
        • 스프링 부트 - 핵심 원리와 활용 (9)
        • Spring Security 6.x (2)
        • Spring Batch (2) N
        • Spring Cloud로 개발하는 MSA (1)
        • 재고시스템으로 알아보는 동시성이슈 해결방법 (4)
        • 개념 (27)
        • 테스트 (0)
        • Annotation (1)
        • Error Log (2)
      • TEST (0)
        • 부하 테스트 (0)
        • Practical Testing: 실용적인 테스트.. (0)
      • JPA (40)
        • 자바 ORM 표준 JPA 프로그래밍 (12)
        • 1편- 실전! 스프링 부트와 JPA 활용 (7)
        • 2편- 실전! 스프링 부트와 JPA 활용 (4)
        • 실전! 스프링 데이터 JPA (6)
        • 실전! Querydsl (6)
        • 개념 (5)
      • 백엔드 부트캠프[사전캠프] (35)
        • TIL (12)
        • 문제풀이 (23)
      • 백엔드 부트캠프 (0)
      • Open Source (0)
      • Book Study (1)
        • Morden Java in Action (1)
        • Real MySQL 8.0 Vol.1 (0)
        • TDD : By Example (0)
      • AWS (0)
        • EC2 (0)
      • git (2)
      • AI (22)
        • Machine Learning (17)
        • Deep Learning (0)
        • TensorFlow (1)
        • PyTorch (1)
        • YOLO (1)
        • Data Analysis (0)
        • Ai code Error (1)
        • Numpy (1)
      • MY (0)
      • WEB (15)
        • Django (3)
        • WEB 개념 (1)
        • React (1)
        • Maven (10)
      • Python (6)
      • 기초수학 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_y_130
데이터 포맷) XML
상단으로

티스토리툴바