任何人都可以给我一个无效的XML字符列表

时间:2012-05-13 12:10:28

标签: java xml jaxb xml-serialization xml-parsing

以下是错误: http://java.net/jira/browse/JAXB-614

上述错误,建议我们使用以下链接中提到的解决方案: http://blog.lesc.se/2009/03/escape-illegal-characters-with-jaxb-xml.html

分辨率列表31代码:

final String escapeString = "\u0000\u0001\u0002\u0003\u0004\u0005" +                
    "\u0006\u0007\u0008\u000B\u000C\u000E\u000F\u0010\u0011\u0012" +            
    "\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C" +               
    "\u001D\u001E\u001F\uFFFE\uFFFF";

现在,我的问题是,我可以用ASCII获取上述代码的实际字符吗?

5 个答案:

答案 0 :(得分:1)

这些字符都不可打印。

在Javascript控制台中粘贴该字符串会产生"�"

答案 1 :(得分:1)

如果您想以XML格式存储二进制数据,则使用例如二进制数据是有意义的。 Base64编码。 我不认为用相同的"无效"替换它们。性格是最好的方法。

答案 2 :(得分:0)

ASCII?不,ASCII最多为255.实体0x1F及以下都是控制字符。

http://www.utf8-chartable.de/

答案 3 :(得分:0)

在谷歌搜索“java unicode”。示例结果如下:

http://www.ssec.wisc.edu/~tomw/java/unicode.html

Unicode旨在涵盖所有字符集。原来的“ASCII”只对北美有利。 Java本身具有构建它的unicode支持,但仍有许多字符编码“陷阱”要发现: - )

答案 4 :(得分:0)

我编写了一个返回包含所有无效XML字符的std::string的方法。这帮助我对正则表达式进行了单元测试,剥离了这些字符。您可以查看要点here

如果上述链接停止工作,则代码如下:

List<Character>