次のような XML ドキュメントがあります。
<scan_details>
<object name="C:\Users\MyUser\Documents\Target1.doc">
...
</object>
<object name="C:\Users\MyUser\Documents\Target2.doc">
...
</object>
...
</scan_details>
System.Xml.Serialization
属性を使用して XML デシリアライゼーションを簡素化したいと考えています。私が抱えている問題は、ルート ノードに配列が含まれていることを指定する方法がわからないことです。
私は次のクラスを作成しようとしました:
[XmlRoot("scan_details")]
public class ScanDetails
{
[XmlArray("object")]
public ScanDetail[] Items { get; set; }
}
public class ScanDetail
{
[XmlAttribute("name")]
public string Filename { get; set; }
}
ただし、XML をScanDetails
オブジェクトに逆シリアル化すると、Items
配列は残りnull
ます。
ルート ノードで配列をデシリアライズするにはどうすればよいですか?