라벨이 XML인 게시물 표시

Node.js 에서 xml 데이터 파싱하여 json 형태로 변환하기

공공데이터 포털에서 OPEN API를 제공받아 사용해보려고 하면 일반적으로 JSON, XML 형식으로 데이터를 제공한다. 하지만 모든 OPEN API에 해당하는것은 아니며 XML 형식만 제공하는 OPEN API들이 있었다. 내가 사용하고자하는 OPEN API가 XML 형식으로만 지원했고 이러한 XML 형식의 데이터들을 JSON으로 바꾸어 사용하고 싶었다. 찾아보니 xml을 json으로 변경시켜주는 xml-js 라는 라이브러리가 있었다. https://www.npmjs.com/package/xml-js $ npm install xml-js request 예제 소스코드는 아래와 같다. const convert = require ( " xml-js " ) ; const request = require ( " request " ) ; const END_POINT = " http://apis.data.go.kr/B552584/EvCharger " ; const SERVICE_KEY = " 일반 인증키(Encoding) " ; const requestUrl = `${ END_POINT } /getChargerInfo?serviceKey= ${ SERVICE_KEY } &numOfRows=10&pageNo=1 ` ; request . get (requestUrl, ( err, res, body ) => { if (err) { console . log ( ` err => ${ err }` ) ; } else { if (res . statusCode === 200 ) { const result = body ; console . log ( ` body data => ${ result }` ) ; const xmlToJson = convert . xml2json (result, { com

XML 이란 무엇인가?

XML은 EXtensible Markup Language의 약자이며 HTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language) 이다. 이 언어는 사람과 기계가 동시에 읽기 편한 구조로 되어 있다. 그러나 XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌다. 또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있습니다. # XML 주요 특징 1. XML은 다른 목적의 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어이다. 2. XML은 다른 시스템끼리 다양한 종류의 데이터를 손쉽게 교환할 수 있도록 도와준다. 3. XML은 새로운 태그를 만들어 추가해도 계속해서 동작하므로, 확장성이 좋다. 4. XML은 데이터를 보여주지 않고, 데이터를 전달하고 저장하는 것만을 목적으로 한다. 5. XML은 텍스트 데이터 형식의 언어로 모든 XML 문서는 유니코드 문자로만 이루어진다. 그외에도 XML태그명과 변수명이 동일해야지 된다. 자바 파싱(자바에서 XML의 데이터를 읽어온다) = DOM (데이터베이스 대체) : 수정, 추가, 삭제, 검색 = SAX : 검색 = JAXB : 자바클래스와 XML을 연결 (빅데이터, 외부 XML을 읽을 경우) # XML을 저장하는 방식 <태그>데이터 저장</태그> <태그 속성="데이터저장" /> # HTML과 다른점 1) 문법이 어렵다. 2) HTML은 화면 출력하는 목적, 문서 저장 목적 (파일형 데이터베이스) 3) 태그나 속성에서 대소문을 구분한다. 4) 속성에 값을 대입할 때 반드시 ""(큰따옴표)를 사용한다. 5) 여는태그 닫는 태그는 반드시 일치해야 한다. 6) Spring, Mybatis => XML기반이다. # 장점 1) 호환성이 좋다(스마트폰, 리눅스, 윈도우) => 운영체제에 상관없이 사용이 가능하다. # 단점 1) XML