如何使用XmlSerializer选择性地序列化字段和属性

时间:2014-03-03 14:17:59

标签: c# serialization

问题是我有一个测试类和一个TestVariable,我想在没有序列化TestVariable的情况下序列化测试类。:

public class TestClass
{

    public int TestVariable
    {
        get;
        set;

    }
    public int ControlVariable
    {
        get;
        set;
    }

    public TestClass()
    {
        TestVariable = 1000;
        ControlVariable = 9999;
    }
}

执行序列化的代码:

public static void PrintClass()
{
    new XmlSerializer(typeof(TestClass)).Serialize(Console.Out, new TestClass());
}

我想我会回答这个问题,因为我看到对这个非常简单的问题的简短回答。

1 个答案:

答案 0 :(得分:1)

包含命名空间System.Xml.Serialization并在要在序列化中排除的字段或属性上添加属性[XmlIgnore]。

修改上面的代码,它看起来像这样:

public class TestClass
{

    [XmlIgnore]
    public int TestVariable
    {
        get;
        set;
    }

    public int ControlVariable
    {
        get;
        set;
    }

    public TestClass()
    {
        TestVariable = 1000;
        ControlVariable = 9999;
    }
}

这将导致TestVariable完全从序列化中排除。