如何在解析XML之前避免使用十六进制字符?
答案 0 :(得分:0)
您的问题不是十六进制字符(这些都很好)。您的问题是XML中不允许的字符。该字符的十六进制值(所有字符都具有十六进制值)在错误消息中给出,以帮助您确定该字符是什么,这特别有用,因为XML中不允许的字符通常是控制字符,非字符和错误匹配的代理人,无论如何都不是可打印的字符。
换句话说,如果您看到此错误消息,则尝试将某些内容解析为非XML的XML。
有一些事情可能导致这种情况:
第一种情况可能更糟,因为它可能是由其他人的错误引起的,而有些人甚至不相信XML中不允许使用字符,因为这些字符实际上并不是字符,也不会修复它们一团糟(哇!)有时你可以过滤掉他们的垃圾,但这总是充满了。
您在代码示例中的其他地方谈到解密这一事实让我怀疑案例3:它是加密的XML而您还没有解密它。
它可能是两者的混合,有人试图将原始加密八位字节打包成XML格式。这是不可能的,但是如果您需要以XML格式存储加密八位字节,则必须以XML兼容格式(如base-64或十六进制)重新编码这些八位字节。或者,根本不要使用XML。