在java中使用JAXB编组和解组,我无法解析图像中“This end use consumption”文本之前出现的符号。
收到以下错误。
Generic Exception being handled : Fatal error: PCDATA invalid Char value 20 at :11.
我想跳过这种符号,我怎么能用JAXB做到这一点。
请帮忙。
答案 0 :(得分:1)
您的源XML可能不是有效的XML。是否有可能通过连接文本来创建XML而无需在必要时处理转义的特殊字符?
答案 1 :(得分:0)
invaldi字符是\ x14,DC4,一个控制字符。 (我想知道,如何输入或SW实体添加它。)
根据XML W3C建议,这是字符的有效范围:
#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
这意味着必须删除所有其他控制字符(不进行转义!)。这可以通过使用简单的正则表达式过滤用户数据来完成,例如
String input = ...;
saneInput = input.replaceAll( "[\\x00-x1F&&[^\\x08\\x0A\\x0D]]+", "" );