XmlSerializer用0x0020(十六进制值)替换空格

cod*_*ple 2 c# hex xmlserializer

出于某种原因,我的带有空格的XmlElements用_x0020代替空格打印.

例如,

[XmlElement("The Total")]
public double total { get; set; }
Run Code Online (Sandbox Code Playgroud)

<The_0x0020_Total>当我把它打印出来时变成了 我正在使用TextWriter输出,然后我使用XmlSerializer.Serialize打印到文件,但它不起作用.

Jon*_*eet 5

这是XML序列化程序处理您指定了非法元素名称这一事实的方式.XML元素的名称中不能包含空格,因此它以一种以后能够解除的方式来修改空间.

我建议你不要首先包括空格.

出于兴趣,您对输出的期望是什么?你有没有期待:

<The Total>
  20
</The Total>
Run Code Online (Sandbox Code Playgroud)