【发布时间】:2013-04-24 07:05:52
【问题描述】:
我正在使用 castor API 将对象转换为 XML。
我得到以下异常
原因:org.xml.sax.SAXException:字符 '' 是无效的 XML 字符。
我知道正确的做法是更正来源,但是这样的无效字符很多。
在另一个论坛上,有人建议在编组它们之前对 java 对象内容进行编码,然后对输出进行解码 (Base64)。这种方法看起来很麻烦,并且不适合解决方案。
我需要一种在编组过程中跳过这些字符的方法,并且生成的 XML 应该包含这些字符。
【问题讨论】:
-
再挖掘一下,我发现无效字符只不过是一个退格(ASCII Code = 8)。退格字符如何插入字符串很奇怪。有什么建议吗?
-
在编组之前对 java 对象内容进行编码,并在解组之后解码。这似乎是解决这个问题的唯一方法。 marshal.setEncoding("base64");使用 base 64 编码和解码。
-
我认为使用 base64 不合适,因为这不是二进制数据。下面的答案确实有帮助。谢谢。
标签: java xml marshalling castor