자바로 XML 파일 작성 질문입니다.
조회수 1897회
//여기에 코드를 입력하세요
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
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 java.io.*;
public class Xml2Csv_2 {
public static void main(String[] args) {
String csvFile = "bookinfo.csv";
BufferedReader bfReader = null;
String line = "";
String csvSplit = ",";
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder domBuilder = dbFactory.newDocumentBuilder();
Document dom = domBuilder.newDocument();
bfReader = new BufferedReader(new FileReader(csvFile));
while ((line = bfReader.readLine()) != null) {
String[] bookArry = line.split(csvSplit);
String bi0 = bookArry[0];
String bi1 = bookArry[1];
String bi2 = bookArry[2];
String bi3 = bookArry[3];
String bi4 = bookArry[4];
String bi5 = bookArry[5];
Element booklist = dom.createElement("bi0");
dom.appendChild(booklist);
/* Element book = dom.createElement(bi1);
booklist.appendChild(book);
Attr titleAttr = dom.createAttribute(bookArry[2]);
Attr authorAttr = dom.createAttribute(bookArry[3]);
Attr translatorAttr = dom.createAttribute(bookArry[4]);
Attr publisherAttr = dom.createAttribute(bookArry[5]); */
TransformerFactory tfFactory = TransformerFactory.newInstance();
Transformer tr = tfFactory.newTransformer();
tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
tr.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(dom);
StreamResult result = new StreamResult(newFileOutputStream(newFile("test_xml.xml")));
tr.transform(source, result);
}
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
} catch (ParserConfigurationException e){
e.printStackTrace();
} catch (TransformerException e){
e.printStackTrace();
}
finally {
if (bfReader != null);
try {
bfReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
CSV파일을 읽어서 배열에 넣은 뒤 그 값을 XML 파일을 만들면서 Element에 넣고싶은데 createElement 및 createAttribute가 먹지 않습니다.
어떻게하면 배열에 있는 값을 넣을 수 있을까요??
댓글 입력