c# - 为什么 XML 序列化程序将字符附加到我的 XmlAttribute?

标签 c# xml-serialization

这是我的属性(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/

相关文章:

c# - protobuf-net 消息序列化大小属性

c# - Linq 到实体 : Unions + Distinct

c# - 将对象转换为不带 header 的 CSV 字符串 Servicestack CSVSerializer

c# - 如何使用 MvcContrib 的 XmlResult 生成带有属性而不是节点的 XML?

java - 使用 commons-digester XML 规则时,如何排除一些不需要的 XML 属性?

c# - 从网页调用 DELETE restful 方法的最佳做法是什么?

xml - WCF XML 和列表序列化

c# - 如何使用列表(而不是数组)反序列化此 xml

c# - 如何自定义 WCF XML 序列化

c# - 每个 VST SDK 似乎都适用于 C++,那么 C# 呢?