XML(Extensible Markup Language)은 마크업 형태를 사용하는 데이터 교환 형식이다.
마크업(markup)은 태그 등을 이용해 문서나 데이터의 구조를 나타내는 방법이다. 속성 부여도 가능하다.
<?xml version="1.0" encoding="UTF-8"?>
<OSTList>
<OST like="1">
<name>마녀 배달부 키키</name> <song>따스함에 둘러쌓인다면</song>
</OST>
<OST like="2">
<name>하울의 움직이는 성</name> <song>세계의 약속</song>
</OST>
</OSTList>
JSON과 비교했을 때, XML은 닫힌 태그가 계속해서 들어가기 때문에 무겁다.
또한, JavaScript 객체로 변환하기 위해서 JSON보다는 더 많은 노력이 필요하다.
<?xml version="1.0" encoding="UTF-8"?>
<OSTList>
<OST>
<name>마녀배달부키키</name> <song>따스함에둘러쌓인다면</song>
</OST>
<OST>
<name>하울의움직이는성</name> <song>세계의약속</song>
</OST>
</OSTList>
```js
const fs = require('fs')
const path = require('path')
var parser = require('xml2json');
let a = fs.readFileSync(path.join(__dirname,"a.xml"))
a = parser.toJson(a)
console.log(a)
xml은 대표적으로 sitemap.xml 에쓰인다.
sitemap.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>2018-06-04</lastmod>
</url>
<url>
<loc>http://www.example.com/abc.html</loc>
<lastmod>2018-06-04</lastmod>
</url>
</urlset>