public static Map<String, Object> Dom2Map(String xml, String charSet) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
try {
Document doc = DocumentHelper.parseText(xml);
map = XmlUtils.Dom2Map(doc);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return map;
}
系统在执行Document doc = DocumentHelper.parseText(xml);时报:尾随节中不允许有内容。
出现该错误的原因如下:
1、字符串xml前后可能存在空格,将自己的xml字符串粘贴到notepad++中,全选,就可以看到字符串前后是否存在空格,
解决方案:给字符串xml去除前后空格,xml.trim();
2、字符串xml中可能存在被加密的内容。我的问题就是因为xml字符串末尾存在加密内容,导致报错。如下图:
因为我的需求是不需要用到后面加密的内容,故截取调后面加密的内容即可。