首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表中属性的XmlIgnore

列表中属性的XmlIgnore
EN

Stack Overflow用户
提问于 2020-05-08 10:18:53
回答 1查看 92关注 0票数 1

如何忽略正在尝试序列化的另一个类型列表中的类型中的属性?

代码语言:javascript
复制
        public string SerializeTag(List<Tag> reservedTags)
    {
        string timestampFilenamePrefix = DateTime.Now.ToString("yyyyMMddHHmmss");
        string filename = string.Format("ReservedTags_{0}.xml", timestampFilenamePrefix);
        using (var stream = File.Create(filename))
        {
            var objectToBeSerialized = new CompanyDemoData();
            objectToBeSerialized.TagsReserved = reservedTags;

            var namespaces = new XmlSerializerNamespaces();
            namespaces.Add("", "");

            XmlAttributeOverrides xOver = new XmlAttributeOverrides();
            XmlAttributes attrs = new XmlAttributes();
            attrs.XmlIgnore = true;
            xOver.Add(typeof(Tag), "GUID", attrs);

            var serializer = new XmlSerializer(typeof(CompanyDemoData), xOver);
            serializer.Serialize(XmlWriter.Create(stream), objectToBeSerialized, namespaces);

            stream.Flush();
            return filename;
        }
    }
代码语言:javascript
复制
{
    [XmlRoot("CompanyDemoData")]
    public class CompanyDemoData
    {
        [XmlElement("Tag")]
        public List<Tag> TagsReserved { get; set; }
    }
}
代码语言:javascript
复制
namespace Demo.Model
{
    public class Tag
    {
        [XmlElement("TagId")]
        public int ID { get; set; }

        [XmlElement("GUID")]
        public Guid Guid { get; set; }
    }
}

我试图避免在某些情况下序列化GUID属性。因此,我不想直接在标记类中设置XmlIgnore属性。我不想对GUID使用可空包装。

我认为错误在于我正在为类型CompanyDemoData创建一个序列化程序,它不包含我试图设置重写属性的属性。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-08 10:45:11

这里的错误出现在参数member string中的xOver.Add(typeof(Tag), "GUID", attrs)中。

您传递的是XMLElement Name,而不是Member Name,即"GUID“而不是"Guid”。

这一行应该是xOver.Add(typeof(Tag), "Guid", attrs)

我已经测试过了,而且效果很好。希望这对你有好处!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61676886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档