** 까먹기 전에 정리하자.
프로젝트의 모든 내용을 까발릴 수는 없으니까 요약 정리함.
(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;
}
[JAXB] 주소록 xmlparser 2. xsd 작성, java 파일 생성하기
[JAXB] 주소록 xmlparser 3. xml 쓰기, 읽기






164657
28
51












댓글을 달아 주세요