c# - XmlSerializer 将空格替换为 0x0020(十六进制值)

标签 c# hex xmlserializer

由于某种原因,我的带有空格的 XmlElements 被打印为 _x0020 来代替空格。

例如,

[XmlElement("The Total")]
public double total { get; set; }

变成<The_0x0020_Total>当我打印出来的时候。我使用 TextWriter 进行输出,然后使用 XmlSerializer.Serialize 打印到文件,但它不起作用。

最佳答案

这是 XML 序列化程序处理您指定了非法元素名称这一事实的方式。 XML 元素的名称中不能有空格,因此它会以稍后能够取消删除的方式来删除空格。

我建议您首先不要包含空格。

出于兴趣,您期望输出是什么?您是否期望:

<The Total>
  20
</The Total>

关于c# - XmlSerializer 将空格替换为 0x0020(十六进制值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446244/

相关文章:

c - 为 float 指定十六进制值返回错误值

.net - 使用XmlSerializer时如何忽略派生类中基类的属性?

c# - C#XmlSerializer会忽略xs:string以外的类型的xs:attribute

c# - 清除 C#/VB.NET 中的字体使用

c++ - 如何使用 _mm_extract_ps SSE GCC instrinc 函数将十六进制 float 转换为 C/C++ 中的 float

c# - 是否可以写出一个 C# double 并用 Java 读取它?

java - 将字符串转换为 ASCII 格式,然后再转换为 HEX 格式

c# - 在序列化过程中动态控制 XML 元素名称

c# - 如何在MVC Entity Framework 代码优先方法中加密和解密存储数据库的密码?

c# - 如何使用 Web Proxy 绕过网络?