[2017해커톤] Dom4J를 이용하여 Xml Export

[해커톤]Dom4J를 이용하여 XML Export개발

 @Override
 public String export(Map<String, Object> data, Map option) {

     String rootElement = (String) option.get("rootElement");
     String recordElement = (String) option.get("recordElement");

     Document document = DocumentHelper.createDocument();
     Element root = document.addElement( rootElement );

     Element element = root.addElement( recordElement );

     data.keySet().forEach(s ->

element.addElement(s).addText((String) data.get(s)));

     return document.asXML();
 }

@Override

 public String export(List<Map<String, Object>> datas, Map

option) {

     String rootElement = (String) option.get("rootElement");
     String recordElement = (String) option.get("recordElement");

     Document document = DocumentHelper.createDocument();
     Element root = document.addElement( rootElement );

     datas.forEach(data -> {
         Element element = root.addElement( recordElement );
         data.keySet().stream().forEach(s ->

element.addElement(s).addText(data.get(s).toString()));
} );

     return document.asXML();

} Map을 xml로 변환하기 위해 Dom4J라이브러리를 사용하였습니다 1. DocumentHelper.createDocument()를이용하여Document객체를생성합니다. 2. 생성된 Document 에 addElement( string ) 를 통해 가장 상위 태그를 추가하게 됩 니다. 이떄 넘기는 String 파라미터가 태그명이 됩니다 3. Map의 데이터를 xml로 옮기기 위해서는 map을 for-each를 돌려야 하는데 맵은 keyset 을 통해 key 와 value 를 loop 를 돌릴수 있었습니다. row하나를 추가 하기 위 해 rootElement 에 addElement 를 하여 item을 추가하고 추가된 element 에 for- each 를 돌려서 나오는 맵 데이터를 하나씩 추가합니다 4. document에asXML()메소드를통해String으로리턴합니다


 Previous
[2017 해커톤]SqlBuilder를 이용하여 SqlExport 개발 [2017 해커톤]SqlBuilder를 이용하여 SqlExport 개발
Map을 SQL로 변환하기 위해 SqlBuilder를 사용하였습니다. 1. 테이블이름을 파라미터로한 InsertQuery 생성자를 이용하여 객체를 생성합니다. 2. 반복문을 돌며 addCustomColumn(Str
2017-08-15
Next 
[2017해커톤] Chain Of Responsibility pattern [2017해커톤] Chain Of Responsibility pattern
필요 기능 사용자가 입력한 조건으로 데이터가 생성 되게 만드는 기능 해당 데이터의 조건은 여러가지 일 수도 있다. 현재 프로젝트에서 Filter가 실행되는 곳은 TypeHandler의 handle함수이다. 처음
2017-08-15
  TOC