w3c xml 생성 변경 코드

1 minute read

작업중 필요없어져서 삭제하려다가 저장

Xml 이용해서 정보 저장하는코드.  오브젝트 네임을 바꿨는데 이 과정에서 오류가 약간 있을수도..

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;

import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.xml.sax.SAXException;

public class SchoolDao {

private final Document document;
private final Node root;
private final File file;

public SchoolDao() throws ParserConfigurationException, FileNotFoundException, SAXException, IOException {
	this("conf", "server.xml");
}
public SchoolDao(String filePath, String fileName) throws ParserConfigurationException, FileNotFoundException, SAXException, IOException {
	file = new File(filePath, fileName);
	if (file.exists() && file.isFile()) {
		document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new FileInputStream(file));
		root = document.getFirstChild();
	} else {
		document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
		root = document.createElement("root");
		document.appendChild(root);
		new File(filePath).mkdirs();
		file.createNewFile();
	}
}

public void addSchool(SchoolObject so) {
	Node school = document.createElement("server");

	addNode(school, "name", so.getName());
	addNode(school, "score", so.getScore());
	
	root.appendChild(school);
}

private void addNode(Node parent, String nodeName, String nodeContent){
	Node tmpNode; //		Attr tmpAttr;
	tmpNode = document.createElement(nodeName);
	tmpNode.setTextContent(nodeContent); //		((Element)tmpNode).setAttributeNode(tmpAttr);
	parent.appendChild(tmpNode);
}

public void write() throws TransformerException {
	TransformerFactory transformerFactory = TransformerFactory.newInstance();
	Transformer transformer = transformerFactory.newTransformer();
	DOMSource source = new DOMSource(document);
	StreamResult result = new StreamResult(file);
	transformer.transform(source, result);
	// Output to console for testing
	StreamResult consoleResult = new StreamResult(System.out);
	transformer.transform(source, consoleResult);
}

public static void main(String\[\] args) throws FileNotFoundException, ParserConfigurationException, SAXException,
		IOException, TransformerException {
	SchoolDao dao = new SchoolDao();
	SchoolObject so = new SchoolObject("schoolname");
	so.setScore(100);
	dao.addHost(so);
	dao.write();
} }