System.Xml.Serialization を使用して、以下の構造の xml ファイルを読み取ろうとしています。
<?xml version="1.0" encoding="utf-8"?>
<rootname xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AListItem>
<someDataItem>1</someDataItem>
<anotherItem>2</anotherItem>
</AListItem>
<AListItem>
<someDataItem>3</someDataItem>
<anotherItem>4</anotherItem>
</AListItem>
<Name>a string</Name>
</rootname>
私のクラス構造:
public class rootname
{
public rootname() { }
[XmlElement("AListItem")]
List<AListItem> DataList { get; set; }
public string Name { get; set; }
}
public class AListItem
{
public AListItem() {}
public string someDataItem { get; set; }
public string anotherItem { get; set; }
}
逆シリアル化:
using (System.IO.FileStream stream = new FileStream(openFile.FileName, FileMode.Open, FileAccess.Read))
{
System.Xml.Serialization.XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(rootname));
rootname deserializedObject = xml.Deserialize(stream) as rootname;
}
「Name」プロパティはロードされていますが、DataList は null です。AListItem アイテムをどのようにロードする必要がありますか? XmlElement 属性は正しいですか?