Java用非法XML字符解组xml
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java用非法XML字符解组xml相关的知识,希望对你有一定的参考价值。
我正在尝试用javax.xml.bind.Unmarshaller
解组XML字符串,但收到以下错误:
Caused by: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x13) was found in the element content of the document.
是否有任何通用解决方案从输入字符串中删除所有非法XML字符?
例如,我尝试使用以下一个,但它没有帮助:
public static String illegalXML11CharactersPattern = "[^"
+ "u0001-uD7FF"
+ "uE000-uFFFD"
+ "ud800udc00-udbffudfff"
+ "]+";
public static String stripNonValidXML11Characters(String xml) {
return xml.replaceAll(illegalXML11CharactersPattern, "");
}
答案
最后,我完成了以下方法:
xml = org.apache.commons.lang3.StringEscapeUtils.unescapeXml(StringEscapeUtils.escapeXml10(xml));
以上是关于Java用非法XML字符解组xml的主要内容,如果未能解决你的问题,请参考以下文章