본문 바로가기

Programming Language/Java

Java의 XML 읽기/쓰기 (DOM 버전)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 XML 파일로부터 읽기

/* DOMRead */
public static org.w3c.dom.Document Load(String path)
	throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, java.io.IOException {
	java.io.File file = new java.io.File(path);
	java.io.FileInputStream fileInputStream = new java.io.FileInputStream(file);
	javax.xml.parsers.DocumentBuilderFactory documentBuilderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
	javax.xml.parsers.DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
	org.w3c.dom.Document document = documentBuilder.parse(fileInputStream);

	fileInputStream.close();

	return document;
}

 XML 파일로 저장

/* DOMWrite */
public static void Save(org.w3c.dom.Document document, String path)
	throws javax.xml.transform.TransformerException, java.io.IOException {
	java.io.File file = new java.io.File(path);
	java.io.FileOutputStream fileOutputStream = new java.io.FileOutputStream(file);
	javax.xml.transform.TransformerFactory transformerFactory = javax.xml.transform.TransformerFactory.newInstance();
	javax.xml.transform.Transformer transformer = transformerFactory.newTransformer();
	javax.xml.transform.dom.DOMSource domSource = new javax.xml.transform.dom.DOMSource(document);
	javax.xml.transform.stream.StreamResult streamResult = new javax.xml.transform.stream.StreamResult(fileOutputStream);

	transformer.transform(domSource, streamResult);

	fileOutputStream.close();
}