자바로 XML 파일 작성 질문입니다.


//여기에 코드를 입력하세요

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가 먹지 않습니다.

어떻게하면 배열에 있는 값을 넣을 수 있을까요??

  • 2018년 01월 08일에 작성됨

조회수 355


Banner nodejs

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close