sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
/**
* 생성한 Document 객체를 XML 파일로 저장하는 메서드 parameter로 file이름을 받는다
*/
public void saveXmlFile(String fileName) {
if (fileName == null || fileName.length() == 0) {
// Error!! 입력값이 없슴
// 에러 처리
}
try {
java.io.FileOutputStream fileoutputstream = new java.io.FileOutputStream(new File(fileName));
org.apache.xml.serialize.OutputFormat outputformat = new org.apache.xml.serialize.OutputFormat();
outputformat.setEncoding("UTF-8");
outputformat.setDoctype(
"-//KH//DTD Korean History Potal System v.0.1//EN", // Document
"http://192.168.1.242:8101/warmemo/jsp/khcollection/dataprovider/metadata.dtd"); // Type설정
outputformat.setIndent(4);
outputformat.setMethod("xml");
outputformat.setIndenting(true);
outputformat.setPreserveSpace(false);
org.apache.xml.serialize.XMLSerializer serializer = new org.apache.xml.serialize.XMLSerializer();
serializer.setOutputFormat(outputformat);
serializer.setOutputByteStream(fileoutputstream);
serializer.asDOMSerializer();
serializer.serialize(getDocument().getDocumentElement());
fileoutputstream.flush();
fileoutputstream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Document 객체를 생성하는 메서드
*/
public org.w3c.dom.Document getDocument() {
org.apache.xerces.dom.DocumentImpl doc = new org.apache.xerces.dom.DocumentImpl();
org.w3c.dom.Element root = null;
org.w3c.dom.Element item1 = null;
org.w3c.dom.Element item2 = null;
// root Element create.
root = doc.createElement("root");
root.setAttribute("ROOT_ATTR1", "rootAttr1");
root.setAttribute("ROOT_ATTR2", "rootAttr2");
// First Element
item1 = doc.createElement("item1");
item1.setAttribute("ITEM1_ATTR", "item1Attr");
// Second Element
item2 = doc.createElement("item2");
item2.setAttribute("ITEM2_ATTR1", "item2Attr1");
item2.setAttribute("ITEM2_ATTR2", "item2Attr2");
item1.appendChild(item2);
root.appendChild(item1);
return doc;
}
/**
* XML 화일로부터 Dom 노드를 읽어온다.
*/
static org.w3c.dom.Node parse(String fileName) {
if (fileName == null || fileName.length() == 0) {
// Error!! 입력값이 없슴
// 에러 처리
}
// 화일이름을 URI형식으로 변환한다.
String uri = "file:///" + fileName;
// URI로부터 ROOT 노드를 읽어온다.
org.w3c.dom.Node root = null;
try {
javax.xml.parsers.DocumentBuilderFactory docBuilderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
javax.xml.parsers.DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
org.xml.sax.InputSource inputFile = new org.xml.sax.InputSource(uri);
org.w3c.dom.Document document = docBuilder.parse(inputFile);
root = document.getDocumentElement();
} catch (org.xml.sax.SAXParseException saxParseEx) {
// SAXParseException 발생
} catch (org.xml.sax.SAXException saxEx) {
// SAXException 발생
} catch (java.lang.Exception e) {
// 기타 Exception 발생
}
return root;
}
* 생성한 Document 객체를 XML 파일로 저장하는 메서드 parameter로 file이름을 받는다
*/
public void saveXmlFile(String fileName) {
if (fileName == null || fileName.length() == 0) {
// Error!! 입력값이 없슴
// 에러 처리
}
try {
java.io.FileOutputStream fileoutputstream = new java.io.FileOutputStream(new File(fileName));
org.apache.xml.serialize.OutputFormat outputformat = new org.apache.xml.serialize.OutputFormat();
outputformat.setEncoding("UTF-8");
outputformat.setDoctype(
"-//KH//DTD Korean History Potal System v.0.1//EN", // Document
"http://192.168.1.242:8101/warmemo/jsp/khcollection/dataprovider/metadata.dtd"); // Type설정
outputformat.setIndent(4);
outputformat.setMethod("xml");
outputformat.setIndenting(true);
outputformat.setPreserveSpace(false);
org.apache.xml.serialize.XMLSerializer serializer = new org.apache.xml.serialize.XMLSerializer();
serializer.setOutputFormat(outputformat);
serializer.setOutputByteStream(fileoutputstream);
serializer.asDOMSerializer();
serializer.serialize(getDocument().getDocumentElement());
fileoutputstream.flush();
fileoutputstream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Document 객체를 생성하는 메서드
*/
public org.w3c.dom.Document getDocument() {
org.apache.xerces.dom.DocumentImpl doc = new org.apache.xerces.dom.DocumentImpl();
org.w3c.dom.Element root = null;
org.w3c.dom.Element item1 = null;
org.w3c.dom.Element item2 = null;
// root Element create.
root = doc.createElement("root");
root.setAttribute("ROOT_ATTR1", "rootAttr1");
root.setAttribute("ROOT_ATTR2", "rootAttr2");
// First Element
item1 = doc.createElement("item1");
item1.setAttribute("ITEM1_ATTR", "item1Attr");
// Second Element
item2 = doc.createElement("item2");
item2.setAttribute("ITEM2_ATTR1", "item2Attr1");
item2.setAttribute("ITEM2_ATTR2", "item2Attr2");
item1.appendChild(item2);
root.appendChild(item1);
return doc;
}
/**
* XML 화일로부터 Dom 노드를 읽어온다.
*/
static org.w3c.dom.Node parse(String fileName) {
if (fileName == null || fileName.length() == 0) {
// Error!! 입력값이 없슴
// 에러 처리
}
// 화일이름을 URI형식으로 변환한다.
String uri = "file:///" + fileName;
// URI로부터 ROOT 노드를 읽어온다.
org.w3c.dom.Node root = null;
try {
javax.xml.parsers.DocumentBuilderFactory docBuilderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
javax.xml.parsers.DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
org.xml.sax.InputSource inputFile = new org.xml.sax.InputSource(uri);
org.w3c.dom.Document document = docBuilder.parse(inputFile);
root = document.getDocumentElement();
} catch (org.xml.sax.SAXParseException saxParseEx) {
// SAXParseException 발생
} catch (org.xml.sax.SAXException saxEx) {
// SAXException 발생
} catch (java.lang.Exception e) {
// 기타 Exception 발생
}
return root;
}