代码之家  ›  专栏  ›  技术社区  ›  Joan Venge

是否可以从XmlSerializer序列化中排除类型的某些成员?

  •  5
  • Joan Venge  · 技术社区  · 15 年前

    我有一些公共成员我不想被序列化,想知道是否有它的属性?

    5 回复  |  直到 15 年前
        1
  •  7
  •   Ryan Rinaldi    15 年前

    你在找 XmlIgnore

        2
  •  5
  •   azheglov    15 年前

    使用 xmlignoreattribute(xmlignoreattribute) 按照别人的建议,静态地做。

    您也可以动态地进行。假设您有一个可序列化的属性 名字 . 然后是以下内容:

    [XmlIgnore]
    public bool NameSpecified {
        get {
            // your logic here
        }
    }
    

    如果这个特殊属性getter返回true, 名字 将包含在输出XML文档中,否则将不包含。 指定的名称 它本身用[xmlignore]标记,因为您显然不想包含它。

        3
  •  4
  •   David Brown Muad'Dib    15 年前

    XmlIgnore 会成功的。

        4
  •  2
  •   Vitaliy Liptchinsky    15 年前

    使用xmlignore属性

        5
  •  0
  •   Markie    15 年前

    从Azheglov关于“指定”后缀的评论开始, DefaultValue 在序列化时也会考虑属性,如果值是默认值,则根本不会序列化该值。