JDOM을 이용한 XML 생성
2014. 9. 14. 22:41
개발/Java
반응형
목적
이전 포스팅에서 출력한 XML 파일에 새로운 정보를 더해 재조립해서 xml형식으로 저장한다.
Source
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.util.List; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdom2.input.SAXBuilder; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter; import org.springframework.ui.ModelMap; public class xmlTest { public void testAddName(ModelMap model , String name) throws JDOMException, IOException{ //파일경로 String filePath="xmlTest.xml"; String newFilePath = "madeXmlTest.xml"; File file = new File(filePath); FileInputStream input = new FileInputStream(file); SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(input); //Root Element Element xmlRoot = doc.getRootElement(); //Child Element List l_list = xmlRoot.getChildren(); Element basic = (Element) l_list.get(0); //New Element Element addName = new Element("name"); addName.setText(name); //Added Child Element basic.addContent(addName); //FILE IO FileWriter writer = new FileWriter(newFilePath); XMLOutputter outputter = new XMLOutputter(); try{ outputter.setFormat(Format.getPrettyFormat()); //개행 등 을 처리 /** * 한글 변환! 중요 * */ Format fm = outputter.getFormat(); fm.setEncoding("EUC-KR"); outputter.setFormat(fm); outputter.output(doc, writer); writer.close(); }catch(Exception e){ System.err.println(e); } } } |
Test
이전 XML 파일
새로 생성된 XML 파일
name이라는 부분이 새로 생성되었다.
힘들었던 부분
XML을 생성하는 경우 인코딩에서 문제가 발생하였다.
UTF-8 방식으로 저장되는데 한글이 깨져서 출력되는 문제가 발생하여 다음과 같이 해결하였다.
반응형
'개발 > Java' 카테고리의 다른 글
FTP - Client 만들기 (0) | 2014.11.28 |
---|---|
FTP - server 만들기 (0) | 2014.11.28 |
csv파일 읽기 (0) | 2014.09.27 |
JDOM을 이용한 XML 파싱 (0) | 2014.09.14 |
현재 시간 구하기 (0) | 2014.09.14 |