2011-08-03 13 views
5

My XML文書には、複数の子要素を含むことができる要素があります。私のクラスでは、私のようにプロパティを宣言:<files>要素が欠落している場合、直列化復元の際XMLデシリアライゼーション:不足している要素をNULLプロパティ値にデシリアライズ

[XmlArray("files", IsNullable = true)] 
[XmlArrayItem("file", IsNullable = false)] 
public List<File> Files { get; set; } 

、私は、ファイルのプロパティがヌルになりたいです。しかし、何が起こるかは、Filesが空のListオブジェクトに逆直列化されることです。それをどうやって防ぐのですか?何<files/>要素が存在しない場合

ここ
public class Foo 
{ 
    [XmlElement("files", IsNullable = true)] 
    public FooFiles Files { get; set; } 

} 
public class FooFiles 
{ 
    [XmlElement("file", IsNullable = false)] 
    public List<File> Files { get; set; } 
} 

Foo.Filesnull次のようになります。それを実現

+0

私は、要素がない場合、.... – superkinhluan

答えて

3

1つのオプションはリストをカプセル化したものです。

+0

ありがとうございます。追加クラスの作成を避けることができる他の方法はありますか? – superkinhluan

+0

@superkinhluan - 私の知る限りではありません。あなたが見ることができるように、リストは熱心に作成されます –

関連する問題