zoukankan      html  css  js  c++  java
  • XmlIgnore的使用

    public class Group
    {
    
        public string GroupName;
        [XmlIgnore]
        public string Comments;
    }

    在序列化时,其结果如下所示

    <?xml version="1.0" encoding="utf-8"?>
    <Group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GroupName>.Net</GroupName>
    </Group>

    我们可以看到,因为设置了XmlIgnore,所以Comments没有被序列化。对于已经设置了XmlIgnore的属性,也可以通过XmlAttributeOverrides 来重新第一序列化时是否需要序列化。

    public XmlSerializer CreateOverrider()
    {
        XmlAttributeOverrides overr = new XmlAttributeOverrides();
        XmlAttributes attrs = new XmlAttributes();
    
        attrs.XmlIgnore = true;
        overr.Add(typeof(Group), "Comments", attrs);
    
        attrs = new XmlAttributes();
        attrs.XmlIgnore = false;
        overr.Add(typeof(Group), "GroupName", attrs);
    
        XmlSerializer serilizer = new XmlSerializer(typeof(Group), overr);
        return serilizer;
    }
    public void SerializeObject(string filename)
    {
        XmlSerializer serializer = CreateOverrider();
        Group group = new Group();
        group.GroupName = ".Net";
        group.Comments = "Microsoft .net 3.5";
    
        StreamWriter writer = new StreamWriter(filename);
        serializer.Serialize(writer, group);
        writer.Close();
    }

    这段代码,其结果与上面的相反,序列化了Comments,而不包含GroupName.

  • 相关阅读:
    arm基础
    数据的封装
    网络安全基础
    qt5学习笔记
    nginx修改配置
    proteus_base1
    20191022
    20191015
    20191014
    20191013
  • 原文地址:https://www.cnblogs.com/valor-xh/p/6531096.html
Copyright © 2011-2022 走看看