这是我的属性(property):
/// <summary>
/// The Business Unit
/// </summary>
[XmlAttribute("ows_Business_x0020_Unit")]
public string BusinessUnit { get; set; }
当我对具有 BusinessUnit 的对象调用序列化时,我得到:
ows_Business_x005F_x0020_Unit=\"Hi\"
_x005F 来自哪里?
最佳答案
这是一个转义序列。 _x0020 实际上是一个空格的另一个转义序列,所以它试图转义转义序列,这样就不会混淆你真的想要转义序列,而不是 unescape 值。所以你的属性应该是这样的:
public class MyClass
{
[XmlAttribute("ows_Business Unit")]
public string BusinessUnit { get; set; }
}
这会将属性序列化为 ows_Business_x0020_Unit
。
关于c# - 为什么 XML 序列化程序将字符附加到我的 XmlAttribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795030/