概述
最近做项目的时候出现一个问题,就是拉取别的项目得xml数据的时候会出现xml节点中存在大小于号的问题,对这个xml文件进行一个解析的时候就会报错,具体报错格式如下:
<xxx>
<aaa> aa<82 ,bb<27 </aaa>
</xxx>
这种数据平常用没有问题,但是进行xml解析的时候就会报错。
public 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;
}
<xxx>
<aaa> aa<82 ,bb<27 </aaa>
</xxx>
就这样给转换过来了,暂时调试没什么问题,肯定有更加高效的解决方法,欢迎交流。
最后
以上就是爱笑蜗牛为你收集整理的字符串xml中节点的特殊符号替换的全部内容,希望文章能够帮你解决字符串xml中节点的特殊符号替换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复