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

프로젝트의 모든 내용을 까발릴 수는 없으니까 요약 정리함.
(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)
2008/10/28 11:51 2008/10/28 11:51

트랙백 주소 :: http://www.evelyn.pe.kr/kor/trackback/127

댓글을 달아 주세요