일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Oracle
- Eclipse
- jquery
- 오라클
- 맥
- MYSQL
- 코드이그나이터
- 7월 공모주 청약 일정
- SQL
- linux
- Stock
- 자바스크립트
- css
- Stock ipo
- 공모주 청약
- JavaScript
- java
- codeigniter
- IPO
- 자바
- html
- 주식 청약
- 6월 공모주 청약 일정
- 주식
- 리눅스
- php
- 공모주 청약 일정
- 주식 청약 일정
- 공모주
- 제이쿼리
- Today
- Total
개발자의 끄적끄적
[java] xml 생성 예제 본문
[java] xml 생성 예제
java 로 xml 생성 하는 소스 입니다.
인터넷으로 검색한 결과 가장 이해하기 쉽고 간단한 소스 같습니다.
저같은 경우 정렬문제와 standalone="no" 이 상위에 포함되는 문제가 있었는데 해당 소스에서는 해당 문제를 해결했습니다.
위와 같은 형식으로 생성되는 소스입니다.
어렵지 않아서 보시면 금방 이해 되실꺼 같습니다.
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
import java.io.File; import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document; import org.w3c.dom.Element;
public class CreateXml {
public static void main (String[] args) {
try { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
// book 엘리먼트 Document doc = docBuilder.newDocument(); doc.setXmlStandalone(true); //standalone="no" 를 없애준다.
Element book = doc.createElement("book"); doc.appendChild(book);
// code 엘리먼트 Element code = doc.createElement("code"); book.appendChild(code);
// 속성값 정의 (id:1) code.setAttribute("id", "1"); //code.setAttribute("type", "novel");
// name 엘리먼트 Element name = doc.createElement("name"); name.appendChild(doc.createTextNode("사람은 무엇으로 사는가?")); code.appendChild(name);
// writer 엘리먼트 Element writer = doc.createElement("writer"); writer.appendChild(doc.createTextNode("톨스토이")); code.appendChild(writer);
// price 엘리먼트 Element price = doc.createElement("price"); price.appendChild(doc.createTextNode("100")); code.appendChild(price);
code = doc.createElement("code"); book.appendChild(code);
// 속성값 정의 (id:2) code.setAttribute("id", "2"); code.setAttribute("type", "novel");
// name 엘리먼트 name = doc.createElement("name"); name.appendChild(doc.createTextNode("홍길동 전")); code.appendChild(name);
// writer 엘리먼트 writer = doc.createElement("writer"); writer.appendChild(doc.createTextNode("허균")); code.appendChild(writer);
// price 엘리먼트 price = doc.createElement("price"); price.appendChild(doc.createTextNode("300")); code.appendChild(price);
// XML 파일로 쓰기 TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //정렬 스페이스4칸 transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //들여쓰기 transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "yes"); //doc.setXmlStandalone(true); 했을때 붙어서 출력되는부분 개행
DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new FileOutputStream(new File("D://tmp/book.xml")));
transformer.transform(source, result);
System.out.println("=========END=========");
}catch (Exception e){ e.printStackTrace(); }
}
}
|
|
'개발 > java & jsp' 카테고리의 다른 글
[Java] StringBuffer 개체에서 String 개체 얻기 (0) | 2020.05.25 |
---|---|
[Eclipse] Maven Dependency 자동 조회 되지 않을 때 [펌] (0) | 2020.05.23 |
[java] 전자정부프레임워크 크로스 사이트 스크립팅(XSS)과 HTMLTagFilter [펌] (0) | 2020.05.18 |
[Spring] 프로젝트 불러오기, 내보내기 (Import, Export) (0) | 2020.05.15 |
[jstl] html special characters 처리방법 (0) | 2020.05.15 |