XStream을 객체를 XML으로 바인딩 해주고 XML을 다루기 쉽게 되어있어 여러모로 XML을 다루는데 자주 쓰고있다.
그리고 Object를 XML뿐아니라 JSON으로도 변환해주는 기능이 있어서 아주 유용하게 사용하고 있는 라이브러리다..
그런데, 하나 아쉬운점이.. 변수(태그명)에 언더바(_)가 들어가면 XStream에서는 디폴트로 그것을 언더바2개(__)로 바꾸어 준다..
이상하게 json으로 결과물을 뽑으면 잘 나오는데, 꼭 XML로만 하면 저렇게 나오는데..
이게 은근히 보기가 싫다..ㅡㅡ;;
XML 변환부에서 아래와 같이 XStream객체를 생성할 때, XmlFriendlyReplacer 를 사용하면 쉽게 처리할 수 있다.ㅋ
1 2 3 4 5 6 |
XmlFriendlyReplacer replacer = new XmlFriendlyReplacer("__", "_"); XStream xstream = new XStream(new DomDriver("UTF-8", replacer)) { protected boolean useXStream11XmlFriendlyMapper() { return true; } }; |