[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으로리턴합니다

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

WordPress.com에서 무료 웹사이트 또는 블로그 만들기.

위로 ↑

%d 블로거가 이것을 좋아합니다: