Carpe diem  
  Front Page
Notice | Tag | Location | Guestbook | Admin   
 
2008/10/28 11:51 2008/10/28 11:51
[JAXB] 주소록 xmlparser 3. xml 쓰기, 읽기

** 까먹기 전에 정리하자.

프로젝트의 모든 내용을 까발릴 수는 없으니까 요약 정리함.
(Spring FrameWork + Flex 통신 중 사용)

1. 쓰기

/**
  * 참고 코드 : JAXB - 파일 읽기
  * @param input : xml 만들 리스트
  * @param pw: xml 쓸 곳 ( 여기서는 화면에 )
  * @return
  * @throws JAXBException
  */
 public void writeGroupXML(List input, PrintWriter pw) throws JAXBException, FileNotFoundException
 {
  ObjectFactory objFactory = new ObjectFactory();
  AddressBook ad = (AddressBook) objFactory.createAddressBook();
  AddressBook.Groups grps = objFactory.createAddressBookGroups();
 
  List grpList = grps.getGroup();

  for(int i=0; i<input.size(); i++)
  {
   GroupType grp = objFactory.createGroupType();
   GroupVO gv = new GroupVO();
   gv = (GroupVO)input.get(i);
   
   grp.setGroupNm(gv.getGroupNm());
   grp.setGroupSeqNo(gv.getGroupSeqNo());
   grpList.add(grp);
  }
 
  ad.setGroups(grps);
 
  JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
  Marshaller marshaller = jaxbContext.createMarshaller();
  marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
  marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, new Boolean(true));
  marshaller.marshal(ad, pw);
 }




2. 읽기

/**
  * 참고 코드 : JAXB - 파일 읽기
  * @param strFile 파일 경로 + 이름까지
  * @return
  * @throws JAXBException
  */
 public List readXMLFile(String strFile) throws JAXBException
 {
  JAXBContext jaxbContext = JAXBContext.newInstance("com.evelyn.msg.xml");
  Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
  AddressBook ad= (AddressBook)unmarshaller.unmarshal(new File(strFile));
   
  AddressBook.Buddies bds = ad.getBuddies();
  List bdt = bds.getBuddy();
 
  for(int i = 0; i < bdt.size(); i++)
  {
   BuddyType bt = (BuddyType)bdt.get(i);
  }
  return bdt;
 }



 /**
  * 참고 코드 : JAXB - XML 문자열 읽기
  * @param strXml XML 문자열
  * @return
  * @throws JAXBException
  */
 public List readXML(String strXml) throws JAXBException
 {
  if(strXml == "")
  {
   logger.info("null string");
   return null;
  }
 
  JAXBContext jaxbContext = JAXBContext.newInstance("com.evelyn.msg.xml");
  Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
  StringBuffer xmlStr = new StringBuffer(strXml);
  AddressBook ad = (AddressBook)unmarshaller.unmarshal(new StreamSource(new StringReader( xmlStr.toString())));
  AddressBook.Buddies bds = ad.getBuddies();
  List bdt = bds.getBuddy();
  return bdt;
 }


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Tag : , ,
Track this back : http://www.evelyn.pe.kr/kor/trackback/127

name    password    homepage
 hidden


BLOG main image
Passionate, Crazy
 Notice
 Category
전체 (71)
여행 (22)
취미/여가 (8)
지식/공부 (28)
독서/감상 (6)
 TAGS
프로그래머 ELS구로 호텔 IBM 아이스쇼 의미 이타바시혼쵸 화장품 단일연결리스트 싸이월드 불안 설봉호 코끼리 광우병 제거 가을 치산 딴수이 치한 갤러리 jsxb panda 노트북 어거스트 러쉬 레몬펜 먹거리 도전 개편 KTX 북카페 jaxb MEDC 태그 스린야시장 KC 댄스 Anita Roddick 해모수 태터 바탕화면 주몽 Beans HUT 스위스 뉴스 주죠역 나를 태워라 교육 월드컵 Dame 괴물 여행 고3 Widget 나눔 휴식 도쿄 pid 핸드메이드 공감 ASP.NET 캐리비안의 해적 야구 요요기공원 행복 성공 자바 공부 해석 마우스 추억 코코아 에반게리온 카르멘 분양 홍수 오타쿠 친구 stripTags profile hibernate 101빌딩 호우 objective-C 개발 독서 java 한의원려 다이어리 사전 금강산 경영 환형연결리스트 custom tag
 Calendar
«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
 Recent Entries
[Hibernate] criteria or...
[Hibernate] 중복된 row...
[freemarker] 숫자 콤마 빼기
고베의 일품 야경을 늦게...
간사이 지역 여행 준비하기
object param 값
[FLEX] Renderer를 이용하...
아이폰 SDK - md5
NSString 문자열 길이를 U...
JSP Get 방식 한글 parame... (3)
 Recent Comments
get방식으로 받은 한글이...
데잇 - 2009
당연히 해봤죠 ~ ^^; 여...
euni - 2009
request.setCharacterEnco...
꼼즈 - 2009
궁금하던 정보 잘 얻고 갑...
해피포터 - 2008
나는 언제 성장하는 거냐?
SEAN。 - 2008
받아들이는 관점에 따라...
euni - 2008
성장이 맞는 것 같지만,...
euni - 2008
거럼 뭐가 메카지? ㅋㅋㅋ...
euni - 2008
종합선물세트 아닐까요 ㅎㅎ
ho - 2008
성장만화 아니었습니까?
SEAN。 - 2008
 Recent Trackbacks
 Archive
2011/10
2010/06
2010/03
2009/09
2009/06
 Link Site
소니톤/개발/애니/여행/e-...
지식보다 지혜를...
 Visitor Statistics
Total : 185884
Today : 6
Yesterday : 44
태터툴즈 배너
rss