데이터 교환 형식 - XML

1c2·2024년 3월 31일
0

CS

목록 보기
2/19

데이터 포맷 #2: XML

XML(Extensible Markup Language)은 마크업 형태를 사용하는 데이터 교환 형식이다.

마크업 형태

마크업(markup)은 태그 등을 이용해 문서나 데이터의 구조를 나타내는 방법이다. 속성 부여도 가능하다.

구성 요소

  1. 프롤로그: 버전과 인코딩 정보를 담는다.
  2. 루트 요소: 문서에서 단 하나만 존재하는 최상위 요소.
  3. 하위 요소들: 루트 요소 내에 포함되는 요소들.
<?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>

HTML과 XML 비교

  1. HTML의 용도는 데이터를 표시하는 반면, XML은 데이터를 저장 및 전송한다.
  2. HTML에는 미리 정의된 태그가 있지만, 사용자는 XML에서 고유한 태그를 만들고 정의할 수 있다.
  3. XML은 대/소문자를 구분하지만, HTML은 구분하지 않는다.

JSON과 XML 비교

  • 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)

sitemap.xml

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>

0개의 댓글