KMM 에서 XML 자료 가져와서 Parsing 처리방법

KMM 대단한 물건이다.

비지니스 로직 부분을 코틀린으로 통일만 하면 개발량이 확 줄어든다.

샘플로 제시된 코드는 JSON 형식이다.

하지만 공공데이터 형식이 XML 인 경우가 많다.

이것에 대한 매뉴얼도 물론 있다.


주석처리 된 부분이 매뉴얼에서 제공된 라이브러리이다.

결론부터 말하자면 안된다.

shared -> build.gradle.kts 상단에 1.7.10 으로 추가하였다.

1.7.20이 최신파일인데 이게 또 compose 와 충돌이 나서 하위버전으로 낮추었더니 오류가 나지 않는다.

androidMain 부분에 라이브러리를 추가해준다.

iosMain 부분에도 라이브러리를 추가해준다.

제일 하단에 메모리 관련 설정을 추가해준다.

Project 제일 상단 폴더의 build.gradle.kts 파일은 위와 같이 설정한다.

여기서도 버번을 1.7.20 으로 했다가 1.7.10 으로 하향 설정 하였다.

호출하는 부분의 모듈이다.

일단 String 으로 받아서 함수를 만들어서 구조체에 넣을 것이다.

결과 데이터를 담을 구조체는 이렇게 작성하였다. 

결과 XML 은 대충 이렇게 내려온다.

문자열 추출하여 내용을 파악하는 함수를 작성하였다.

추출된 각 항목을 Item 으로 생성하여 리스트에 넣고 이를 각 구조체 내용에 추가하여 데이터를 완성하는 부분이다.

이제 이 함수를 사용해서 가져온 결과를 리턴하는 비동기 함수를 클래스에 추가한다.

안드로이드 소스에서는 이렇게 호출한다.

아이폰 소스에서는 이렇게 호출한다.


뒤에 오는 개발자에게 도움이 되었으면 하는 마음으로 작성하였다.


전체 소스 https://github.com/whenyourapprun/ElevatorKMM 


















댓글

이 블로그의 인기 게시물

한글 2010 에서 Ctrl + F10 누르면 특수문자 안뜰 때

아이폰에서 RFID 사용하는 방법

VCC 와 GND 는 무엇일까?