在类级别声明[XmlElement(IsNullable = true)]

时间:2012-02-08 02:32:31

标签: c# attributes properties xml-serialization

有没有办法在类级别声明[XmlElement(IsNullable = true)],以便类中的所有属性都是XML序列化的,即使它们是null?

e.g。

public BankAccount BankAccount { get; set; }

应该导致<BankAccount xsi:nil="true" />,而不是默认的缺失元素。

我试过这个,但编译器(正确地)声明该属性对类声明无效。

原因是我不想为所有属性指定它。


编辑:这是我正在使用的序列化方法:

        var serializer = new XmlSerializer(FormType);
        var stream = new MemoryStream();

        serializer.Serialize(stream, form);

2 个答案:

答案 0 :(得分:2)

不幸的是,在为XML序列化注释类时,必须明确。 除非您需要默认行为,否则每个属性都必须使用自己的XmlElement属性进行批注。

答案 1 :(得分:0)