map与xml之间的相互转换
map与xml之间的相互转换
经过测试之后发布,希望对新手们有所帮助 【map与xml之间的相互转换】
public class TestCode {
public static void main(String[] args) {
Map, String> map = new HashMap, String>();
map.put("version", "1.0");
map.put("charset", "UTF-8");
map.put("first", "我");
map.put("second", "我爱");
map.put("third", "我爱你");
map.put("forth", "我爱你中");
map.put("fifth", "我爱你中国");
System.out.println("map原数据:\n" + map);
// map转xml
StringBuffer sb = new StringBuffer();
sb.append("\n");
Set se = map.entrySet();
Iterator it = se.iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
String k = (String) entry.getKey();
String v = (String) entry.getValue();
if(v != null) {
sb.append("<" + k + ">" + map.get(k) + "" + k + ">\n");
}
}
sb.append(" ");
String sbInfo = sb.toString();
System.out.println("map转成xml之后的数据:\n" + sbInfo);
// xml转map
try {
Map, String> restMap = new HashMap, String>();
byte[] xmlBytesInfo = sbInfo.getBytes("UTF-8");
SAXReader reader = new SAXReader();
InputSource source = new InputSource(new ByteArrayInputStream(xmlBytesInfo));
source.setEncoding("UTF-8");
Document doc = reader.read(source);
Element element = doc.getRootElement();
List elements = element.elements();
for(Element el : elements){
restMap.put(el.getName().toLowerCase(), el.getTextTrim());
}
System.out.println("xml转成map之后的数据:\n" + restMap);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 第326天
- Shell-Bash变量与运算符
- mybatisplus如何在xml的连表查询中使用queryWrapper
- 逻辑回归的理解与python示例
- Guava|Guava RateLimiter与限流算法
- 我和你之前距离
- CGI,FastCGI,PHP-CGI与PHP-FPM