在c#中使用XmlSerializer时如何在xml属性中包含空值

时间:2017-06-07 09:59:54

标签: c# .net-3.5 xmlserializer

我有一个这样的课程

public class Information
{
    [XmlAttribute("fullname")]
    public string Name { get; set; }

    [XmlAttribute("age")]
    public int? Age { get; set; }

    [XmlAttribute("joiningdate")]
    public DateTime? JoiningDate { get; set; }
}

当我在班级的所有成员中都有价值时:

Name = ABC
Age = 15
JoiningDate = 2016-01-22T13:17:51+05:30

根据以上数据,它可以完美地序列化。

但是当我在类的任何成员中都有null值时,它会跳过要用XML编写的属性。但我希望同名的属性具有空白值。

如果我有这种类型的数据:

Name = ABC
Age = null
JoiningDate = null

现在我在XmlSerializer中得到了如下所示的xml:

<?xml version="1.0" encoding="utf-8"?>
<Information fullname="ABC">
</Information>

但在Serialize之后我想要这种类型的XML:

<?xml version="1.0" encoding="utf-8"?>
<Information fullname="ABC" age="" joiningdate="">
</Information>

0 个答案:

没有答案