C# - 反序列化xml字符串,xml文档中存在错误(1,2)

use*_*174 4 c# xml xml-serialization

我试图使用以下内容在C#中反序列化xml字符串

XmlSerializer serializer = new XmlSerializer(typeof(Application));

App = (Application)serializer.Deserialize(xmlString);
Run Code Online (Sandbox Code Playgroud)

当xml打印得非常好时,一切运行良好,但是当我将整个xml放在一行中时,反序列化会因错误而失败

XML文档中存在错误(1,2).名称不能以'.'开头.字符,十六进制值0x00.第1行,第2位."

我已经检查过xml是否有效.

任何人都知道可以做些什么来克服这个问题?

Ale*_*kov 9

有可能您将UTF-16文件作为UTF-8加载,因此每隔一个字符为0.

如果确实如此 - 如果您在没有BOM(字节顺序标记)的情况下保存原始XML或在打开文件时明确使用错误编码,则可能会发生这种情况......