7

重複の可能性:
XML シリアル化と null 値 - C#
は XmlSerializer が空の要素をシリアル化する方法を変更します

このプロパティをスキップする代わりに、null 値を持つ文字列プロパティの空のタグを XmlSerializer に格納する方法は?

4

1 に答える 1

6

あなたはこれが欲しいということです:

<parent>
    <child1>Hello World</child1>
    <child2 />
</parent>

それ以外の

<parent>
    <child1>Hello World</child1>
</parent>

クラスは次のようになります。 シリアライザーはShouldSerializePropertyName定義によってメソッドを呼び出し (存在する場合)、プロパティをシリアル化する必要があるかどうかを判断します (Windows フォーム デザイナーも同様です)。

public class Parent
{
    [XmlElement("Child1")]
    public string Child1 { get; set; }

    [XmlElement("Child2")]
    public string Child2 { get; set; }

    public bool ShouldSerializeChild2() { return true; }

}
于 2012-05-24T09:50:20.887 に答える