태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

블로그

'맵로그'를 만드는 중에 제가 맡은 부분인 GPS 경로 Parsing을 하다보니

XML을 쓸 일이 많았습니다.

Maplog ver 0.2.0까지는 그냥 while문을 돌면서

"줄파싱" 을 했었는데 -_-;;;;;

(이것 참 부끄러워서 줄파싱 소스는 공개할 수 가 없습니다 ㅠ_ㅠ)

우선 첫째로는 XML을 쓰면서 줄파싱 + Substr 콤보를 쓰면 안된다는 양심의 호소-_-

그리고 비록 인턴 나부랭이 이지만

'나름 개발자' (뭐 저야 개발새발할때의 그 개발자-_-이지만요)로서의 자존심? 가오? 간지? +_+

그래서 Xstream을 써보기로 했습니다 +_+

사용자 삽입 이미지

http://xstream.codehaus.org/index.html


두둥!!!

xstream 홈페이지에 가면 2분 튜토리얼 이라는게 있는데

엄청 잘 써놨습니다. 그러나, 제가 필요한 방법으로는

쓸 수가 없다는 단점이 ㅠ_ㅠ


그럼 제가 썼던 방법대로 설명을 하도록 하겠습니다.

우선 타겟이 될 XML 형식을 분석해야 하는데요

아래와 같은 파일을 읽어와서 파싱을 해보도록 하겠습니다.
사용자 삽입 이미지

장담은 못하지만 클릭하면 크게 나올수도 있습니다.


우선 가장 먼저 할 일은 위의 XML구조대로 클래스를 만드는 것입니다.

원래는 각 노드별로 클래스를 만들어야 되는데

(대충 봐도 위의 파일을 파싱하려면 클래스만 대여섯개 만들어야겠죠?)

클래스가 너무 많아지면 복잡해지니까..

아래와 같은 꽁수를 씁니다~

사용자 삽입 이미지

바로 inner class를 사용하는 것인데요. 이렇게 하면 하나의 XML파일당 하나의 클래스만

만들면 되니까 소스가 깔끔해지겠죠?+_+

Tutorial에는 getter와 setter를 쓸 필요도 없고 private이던 public이던

아무 상관이 없다고 하지만 그래도 예의상 적어줬습니다! >ㅇ<

---------------------------------

그런데 위에 빨간색 XML을 다시 살펴보면

trkseg 속의 "trkpt" (트랙 포인트)는 여러번 반복이 됩니다.

(이부분이 xstream의 웹페이지의 튜토리얼에 잘 나와있지 않습니다 ㅠ_ㅠ)


private List<Trkpt> trkseg = new ArrayList<Trkpt>();



이럴때는 위에서 보이는 것처럼 리스트를 쓰면 되는데

중요한 점은 new ArrayList 뒤에 <Trkpt>와 마찬가지로 형식을 지정해 줘야 한다는점!! >ㅇ<

(이게 안나와 있어서 한참을 고생했습니다 ㅠㅠ)

이제는 위에서 설정한 클래스를 어떻게 쓰는지 알아봅시다!!!  ;ㅇ;

사용자 삽입 이미지

파일을 읽어와서... 저렇게 쓰면 되요 =_= 간단하죠??

attribute로 되어있는 "lat" 과 "lon"은 useAttributeFor 라는 메소드를 사용하면 되구요

(밑에있는 registerConverter는 신경스지 않아도 됩니다.)


그리고 바로

xstream.fromXML(fis);

(fis 는 file input stream의 준말입죠^^) 를 사용하시면 

Gpx 형식의 xml이 툭 튀어나와서 myGpx속에 담기게 됩니다 +_+

생각보다 쉽죠?+_+

그럼 다음시간에는 XStream을 이용한 XML 형식변환을 해보도록 하겠습니다 !!
^^
이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 주소 :: http://gi.daum.net/trackback/47 관련글 쓰기

댓글을 달아 주세요

  1. 전찐후후 2008/02/06 14:07  댓글주소  수정/삭제  댓글쓰기

    xtream 이라는 라이브러리가 있다는 것을 NG팀이 알려주었답니다. ^ㅁ^ 여러모로 고마워요 ^ㅁ^

다음에 "검색쇼"라는 서비스가 있다는 걸 아시나요? ^^

자신이 원하는 키워드로 검색결과가 나오게 하는 재미있는 서비스인데요.

GI도 제가 달아봤습니다. 호호호호호호호

잠시후 저녁 7시 25분부터

창에서

@DaumLycosGlobalInternship

또는

@다음라이코스글로벌인턴십


을 검색해보세요 :) 골뱅이는 꼭추가, 색은 상관없어요 ㅎㅎ




검색하고 댓글은 필수!!! ^ㅁ^ 우왕ㅋ굳ㅋ



이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 주소 :: http://gi.daum.net/trackback/24 관련글 쓰기

댓글을 달아 주세요

사실 어제 저녁에 야식을 먹고 바로 잠드는 바람에 체해서 오늘 고생고생 하고 있답니다. 만병 통치약 부채표 까스활명수를 마셨는데 아직 아파요. 오늘은 아무래도 제대로 개발을 할 수 있는 컨디션이 아니다, 싶어서 저희 팀 내부 위키도 예쁘게 꾸미고, 오랜만에 블로그 포스팅도 하고 있답니다.



안녕하세요! [진욱아 야식사와] 팀의 ipuris 입니다. :)

벌써 2주가 지났습니다.
12월 26일부터 시작된 다음 GMCGlobal Media Center 에서의 생활이 말이지요. 이제 이 곳의 구조에도 익숙해졌고, '야식사와'팀 답게 식당의 영양사 님과도 친해지고, 가끔 이곳 분들과 함께 농구도 하고 그렇게 지낸답니다.

아시다시피, 이번 다음라이코스 글로벌 인턴쉽은 각각의 팀이 기획/제안한 아이디어를 2달의 인턴 기간동안 직접 만들게 된답니다. 저희 '야식사와' 팀도 열심히 개발하고 있어요!제 옆에서 진욱이형이 열심히 개발하고 있구요, 앞에 있는 태준이형ParkyPark은 막힌 문제를 해결하기 위해 열심히 논문(?)을 들여다 보고 있어요. 아, 왜 논문을 보냐구요? 비밀이에요 >_< 태준이형 옆에 있는 진아전찐후후는 열심히 진아Lab을 가동시키고 있네요 +_+

하루하루가 지날 때마다 조금씩 모양이 갖춰지고 있는 걸 보며 즐겁게 일하고 있어요. 직접 기획한 아이디어를 내 손으로 만들어서 그런지, 일하는 것도 신나요.

아마 오늘내일 안으로 첫번째 프로토타입이 나올 것 같습니다. 목표는 내일 까지인데, 진행상황이 생각보다 빠르게 나가고 있어요. 흔치 않은 일입니다. 계획에 맞춰가는걸 넘어서 계획보다 앞서가고 있다니... -ㅁ-
기능 구현 쪽에 집중한 1차 프로토타입인데요, 아마 2차 프로토타입에서는 UI 측면에 대한 고민이 많이 적용되지 않을까 합니다.

아참, 저희 내일 서울가요!
비자 인터뷰 받으러 간답니다 :) 유후~
비자 발급받으려니 뭐 복잡한게 많더라구요.
그럼 인터뷰 잘 하고 와서, 다시 뵙겠습니다~



ps.
블로그에 이미지가 없으면 아쉽잖아요. 그쵸?
얼마전에 태준님이 GMC 내부에 있는 ILLY 커피에서 다음 텀블러를 구입하셨답니다~
사용자 삽입 이미지
요즘 일하는 내내 끌어안고 계세요 히히.
오천원 밖에 안하던데, 저도 하나 지를까 심히 고민 중이랍니다 :)
이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 주소 :: http://gi.daum.net/trackback/22 관련글 쓰기

댓글을 달아 주세요

  1. 전찐후후 2008/01/08 18:03  댓글주소  수정/삭제  댓글쓰기

    손을 따줄께 +_+

  2. Elaine Shin 2008/01/08 18:03  댓글주소  수정/삭제  댓글쓰기

    오오- 오천원 텀블러+ㅅ+

  3. ParkyPark 2008/01/08 18:05  댓글주소  수정/삭제  댓글쓰기

    저도 서울 가구싶어요 ㅠㅠ 하악하악~~
    다들 비자만들러 서울가버리고 ;ㅇ;
    .......

    ..... 다들 외박 받았는데 혼자 영내 대기하는 기분 ㅠㅠㅠ

인턴쉽을 시작했습니다!

2007/12/28 15:57 by ipuris

안녕하세요! '진욱아 야식사와' 팀의 박한ipuris 입니다.
제 첫 포스팅이네요 :)

다름이 아니라, 드디어! 다음 커뮤니케이션 제주 GMC에서의 인턴이 시작되었습니다!
와와 짝짝짝~

26일 비행기를 타고 제주도에 도착한 저희는 간단히 GMC를 구경하고 숙소를 배정한 뒤,
27일 각자 개인 노트북을 받아서 세팅을 하고 본격적으로 일을 시작하여서,
28일 오늘, 멘토님께 도움을 받으며 계획대로 일을 진행해 나가고 있답니다 :)

비행기에서 오면서 아래로 보이던 옥빛 바다,
공항에서 나오자 우릴 맞아주는 야자수!
비록 오늘은 비가 오고 있지만 날씨도 좋아서 너무나 기분이 좋았답니다.
마치 장난감같은 알록달록한 색상을 가지고 있는 다음 GMC, 목마르고 배고플 때마다 음료수와 과자를 마음껏 가져와서 먹을 수 있고, 닌텐도 Wii 도 있더라구요! 테니스도 쳐봤습니다.
그 무엇보다 좋았던건, 한 사람당 한 개씩 지급된 최신형 노트북! 와아 감동을 받을 수 밖에 없었어요 정말.

어제는 점심을 먹고 다른 개발자/기획자 님들과 함께 농구를 했답니다. 학교 농구동아리에서 활동을 하는데, 여기 와서도 농구를 할 수 있을 줄은 몰랐어요. 저 말고 다른 인턴분들은 탁구도 치고, 배드민턴도 치시더라구요~

아, 전 뭔가 진지한 컨셉의 포스팅을 하려고 마음을 먹고 있었는데안어울린다 이렇게 신나는 포스팅을 제일 먼저 하게 되었네요. 다른 인턴 분들 모두 새 노트북을 받고서는 신나셔서 프로젝트들을 진행하시느라 많이 바쁘신가봐요. 그 분들이 멋진 사진을 많이 가지고 계신데..ㅠ
제가 얼른 포스팅 하라고 쿡쿡 찌를게요 히히 :)

그럼 조만간 새로운 소식으로 다시 찾아뵙겠습니다 :)
따뜻한 연말 되시길 바래요^^

이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 주소 :: http://gi.daum.net/trackback/16 관련글 쓰기

댓글을 달아 주세요

  1. 전찐후후 2007/12/28 19:51  댓글주소  수정/삭제  댓글쓰기

    화이팅 ^ㅁ^

  2. freewill93 2007/12/29 10:22  댓글주소  수정/삭제  댓글쓰기

    아니 어째서 캐치볼은 빠지냐고 -_-;

    야구 천국~~~ 불신 지옥~~~~

    다음 슬러거스 만만세~!!!

  3. 흰둥+ 2007/12/29 13:57  댓글주소  수정/삭제  댓글쓰기

    야구만세 ㅎㅎ

    하지만 농구도 좋음 ㅎ