遇到这类型问题,多半是因为字符串的格式不对。可以尝试着在字符串中的结束标签前面加几个空格。
使用代码解决:
/**
* 将 String 类型的 XML 加空格和回车
* @param string
* @return
*/
private String strToXmlContent(String string) {
String[] split = string.split("</");
StringBuffer sb = new StringBuffer();
for (int i = 0; i < split.length; i++) {
sb.append(split[i]);
if (i != split.length -1) {
sb.append("\n </");
}
}
return sb.toString();
}
这样,就可以将字符串变为 dom4j 认识的 xml 字符串。
最后取数据的时候,去掉空格即可。
PS:
使用 dom4j 将XML中的数据封装到 List<Map<String,String>> 中
(可自定义key,value为标签的内容。),
并且可以将每个 Map 中的值,
按字符串拼接后输出封装好的代码。
地址:https://github.com/ITzhaowen/XmlToStr