我做的一个取数工具可以通过解析从调用的三个接口返回的统一格式的XML字符串分别获得数据并保存,之前没有出现问题,昨天在获取九月数据时,解析第二个XML字符串报错"The value of attribute '某个字段' associated with an element 'row' must not contain '<' character "的错误,另外两个接口没有出现问题。不知道是因为返回给我的XML字符串的问题,还是我在解析时没有处理编码问题。因为那个接口只有特定时间段才能调通,我现在没法重现(错误是领导告诉我的),但领导要我现在解决。这是我第一次用dom4j解析XML文件所以请教各位大佬们,这个错误的原因是什么,如果是接口返回的某行数据包含了"<"有没有可能跳过继续解析后面的数据。
对方生成xml文件时有问题,没把xml特殊字符"<"给转义掉,导致你解析xml内容错误
解决方法
1 推动对方去修改该问题
2 如果推动不了 只能自己用low一点手段把拿到xml内容修改进行处理,用正则表达式把"<"替换成“<”后再进行解析
附: xml需要转义的特殊符号