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>