java xml 转 map / map 转 xml
来源:互联网 发布:代理ip api python 编辑:程序博客网 时间:2024/05/25 19:59
/** * map转xml map中没有根节点的键 * * @param map * @param rootName * @return */ public static Document map2xml(Map<String, Object> map, String rootName) { Document doc = DocumentHelper.createDocument();// 创建一个Document对象 Element root = DocumentHelper.createElement(rootName); // 创建根节点 doc.add(root); map2xml(map, root); return doc; }
/** * map转xml * * @param map * @param body * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) private static Element map2xml(Map<String, Object> map, Element body) { Set<Entry<String, Object>> entries = map.entrySet(); for (Entry<String, Object> entry : entries) { String key = entry.getKey(); Object value = entry.getValue(); if (key.startsWith("@")) {// 属性 body.addAttribute(key.substring(1, key.length()), value.toString()); } else if (key.equals("#text")) { // 有属性时的文本 body.setText(value.toString()); } else { if (value instanceof java.util.List) { List list = (List) value; Object obj; for (int i = 0; i < list.size(); i++) { obj = list.get(i); // list里是map或String,不会存在list里直接是list的 if (obj instanceof java.util.Map) { Element subElement = body.addElement(key); map2xml((Map) list.get(i), subElement); } else { body.addElement(key).setText((String) list.get(i)); } } } else if (value instanceof java.util.Map) { Element subElement = body.addElement(key); map2xml((Map) value, subElement); } else { body.addElement(key).setText(value.toString()); } } } return body; }
/** * 格式化输出xml * * @param document * @return * @throws DocumentException * @throws IOException */ public static String formatXml(Document document) throws DocumentException, IOException { // 格式化输出格式 OutputFormat format = OutputFormat.createPrettyPrint(); // format.setEncoding("UTF-8"); StringWriter writer = new StringWriter(); // 格式化输出流 XMLWriter xmlWriter = new XMLWriter(writer, format); // 将document写入到输出流 xmlWriter.write(document); xmlWriter.close(); return writer.toString(); }
参照:原博客
阅读全文
0 0
- java xml 转 map / map 转 xml
- java Map转XML
- java xml转map map转xml 带属性
- XML报文转Map
- XML 转 map集合
- Xml字符串转Map
- XML字符串转Map
- java的map格式数据转xml
- java jdom 将xml转map
- String转XML转Map
- xml与map之间互转(java)
- java解析xml转为Map
- json转xml,json转map
- XML字符串与MAP格式互转
- XML转Map类型 和 对象类型转XML字符串
- XML转Map集合以及对象化XML
- 微信支付 MD5加密 、xml转Map/Json 、 Map转xml
- java实现对象转换为map、xml字符串转化为map、map转化为xml字符串
- 关于 我找到的响应式书籍整理
- Leetcode之Maximum Average Subarray I
- typedef和#define
- 我的博客,以前是新浪微博登录的,现在登录不上去了
- org.springframework.context.ApplicationContextAware使用理解
- java xml 转 map / map 转 xml
- 对于SVN的初步理解
- HDU 1181 变形课(DFS)
- 自我简介
- React-Native 中 StackNavigator的跳转界面的使用
- Number Sequence
- Java中集合(五)Set
- 很详细的婚礼酒席座位布置办法,留着以后用
- synchronized原理