XML(Extensible Markup Language)은 열린 태그 닫힌 태그로 이루어진 구조의 데이터를 의미한다. 최상위 태그는 하나만 사용이 가능하며 기본 제공하는 태그 이름은 없다. 대표적으로 sitemap.xml에 쓰인다.
XML(Extensible Markup Language)은 중괄호가 아니라 열린 태그 닫힌 태그로 이루어진 구조의 데이터를 의미한다.
XML 데이터 표현
/* XML */
<?xml version="1.0" encoding="UTF-8"?>
<CSKnowledgeList>
<CS>
<name>디자인패턴</name> <difficult>5</difficult>
</CS>
<CS>
<name>네트워크</name> <difficult>4</difficult>
</CS>
</CSKnowledgeList>
- <?xml version="1.0" encoding="UTF-8"?>` 이 한 줄을 프롤로그라고 한다.
- xml 옆에 version을 쓰고 encoding 을 쓴다. 보통은 UTF-8이다.
- CSKnowledgeList라는 태그로 감싸져있는데 이러한 최상위 태그는 하나만 사용이 가능하다.
- XML에는 기본 제공 태그 이름이 없다.
sitemap.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/foo.html</loc>
<lastmod>2022-06-04</lastmod>
</url>
<url>
<loc>http://www.example.com/abc.html</loc>
<lastmod>2022-06-04</lastmod>
</url>
</urlset>
- xml은 대표적으로 sitemap.xml에 쓰인다.
- 사이트가 매우 크거나 서로 링크가 종속적으로 연결되지 않은 경우 크롤러가 일부 페이지를 누락하는 일이 있는데 이를 sitemap.xml이 방지한다.
JSON과 XML 비교
/* JSON */
{
"CSKnowledgeList": [{
"name": "디자인패턴",
"difficult": 5
},
{
"name": "네트워크",
"difficult": 4
}
]
}
- XML은 JSON과 비교했을 때 닫힌 태그가 계속해서 들어가기 때문에 JSON과 비교하면 무겁다.
- 또한 Javascript Object로 변환하기 위해서 JSON보다는 더 많은 노력이 필요하다. (JSON은 JSON.parse면 된다.)
JSON과 XML 비교
/* HTML */
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p></p>
<div></div>
</body>
</html>
- html의 태그는 정해져 있다. (body, p, div 등)
- XML에는 기본 제공 이름이 없다.
'IT 지식 > 데이터 포맷' 카테고리의 다른 글
데이터 포맷 : JSON (0) | 2023.01.05 |
---|