c# - 使用 XmlSerializer 序列化 char 数据类型

标签 c# xml-serialization

我有一个类,其属性类型为 char,如下所示

    [XmlRoot("Root")]
    public class TestClass
    {
        [XmlElement("Test", typeof(char))]
        public char TestProperty { get; set; }
    }

当 TestProperty 的值为“N”时,如果我序列化 TestClass,它将产生以下结果:

    <Root>
        <Test>78</Test>
    </Root>

但我想要的是有跟随

    <Root>
        <Test>N</Test>
    </Root>

是否可以不将 TestProperty 的类型更改为字符串?

最佳答案

不是 AFAIK。不过你可以作弊:

[XmlIgnore]
public char TestProperty { get; set; }

[XmlElement("Test"), Browsable(false)]
public string TestPropertyString {
    get { return TestProperty.ToString(); }
    set { TestProperty = value.Single(); }
}

关于c# - 使用 XmlSerializer 序列化 char 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16054090/

相关文章:

c# - 在 1700 万个文档的 Lucene.NET 索引中查询/排序前 1000 个文档时性能下降

php - htmlentities() 是否足以创建 xml 安全值?

c# - 使用 XML 序列化将属性放入不同的 XML 命名空间

用于导出 XML 的 Javascript 库

c# - 将对象 c# 序列化为 soap 请求

java - 从 Java 对象生成 Spring bean 定义

c# - 获取没有标题的窗口句柄.. (C#)

c# - 传递对 C# 静态类的引用

c# - ORM,数据绑定(bind)到 DataGridView : inserting/deleted new rows not saved to the database

c# - 找到 INT 数组的第 N 个最大数的最快方法是什么?