最近做项目的时候出现一个问题,就是拉取别的项目得xml数据的时候会出现xml节点中存在大小于号的问题,对这个xml文件进行一个解析的时候就会报错,具体报错格式如下:
复制代码
1
2
3
4<xxx> <aaa> aa<82 ,bb<27 </aaa> </xxx>
这种数据平常用没有问题,但是进行xml解析的时候就会报错。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29public static String formatBeforeTrans(String data) { if ((data == null) | "".equals(data)) { return ""; } else { data = data.replaceAll("\&", "&"); data = data.replaceAll("\<", "<"); data = data.replaceAll("\>", ">"); data = data.replaceAll("\"", """); data = data.replaceAll("\'", "'"); data = data.replaceAll("\n", "STEAF_NEWLINE"); return data; } } public static String regex(String xml) { //正则表达式 String rgex = ">(.*?)</"; Pattern pattern = Pattern.compile(rgex);// 匹配的模式 Matcher m = pattern.matcher(xml); //匹配的有多个 List<String> list = new ArrayList<String>(); while (m.find()) { int i = 1; if (m.group(i).indexOf("//<")==-1 && m.group(i).indexOf("//>")==-1){ xml = xml.replace(m.group(i), formatBeforeTrans(m.group(i))); } } return xml; }
复制代码
1
2
3
4<xxx> <aaa> aa<82 ,bb<27 </aaa> </xxx>
就这样给转换过来了,暂时调试没什么问题,肯定有更加高效的解决方法,欢迎交流。
最后
以上就是爱笑蜗牛最近收集整理的关于字符串xml中节点的特殊符号替换的全部内容,更多相关字符串xml中节点内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复