在调用REST API之后,我得到了一个XML响应,但它包含一个在将其反序列化为对象时导致问题的字符。我将XML文档复制为测试数据,但是当我在Visual Studio 2012中复制内容时,会显示错误消息。
有谁知道如何解决这个错误?
答案 0 :(得分:1)
字符0x0b为not a legal character in XML 1.0。
如果XML是使用XML库生成的,那么这些字符通常会被正确转义(例如"&#0B;")。
这表明您正在调用的REST服务的作者犯了手动生成XML而不是使用库的罪行。
最好的解决方案是让REST服务的作者承认他的罪,纠正它并保证不再冒犯。
与此同时,在这个职位上我能做些什么吗?
当然你可以修复"处理之前的数据(例如,用正确的转义序列替换字符0x0b"&#0B;")。但是,您仍然可以接受由Web服务发送的格式错误的XML导致的其他错误。