私はこのXML構造を持っています(より大きなファイルからのexcert-この部分だけが問題を引き起こします)
<Table>
<Row id="1">
<Heading>sgjsfgjsgfh443q572q356</Heading>
<Items>
<Item car="motor1" id="1">
<BodyText color="red">130*</BodyText>
<Subscript>3</Subscript>
</Item>
</Items>
</Row>
</Table>
そして、それXmlSerializer
をこのモデルに逆シリアル化してみてください(XMLに一致する部分のexcertも):
[XmlRoot("Table")]
public partial class Table
{
[XmlElement("Row")]
public Row[] Row { get; set; }
}
[XmlRoot("Row")]
public partial class Row
{
[XmlElement("Heading")]
public string Heading { get; set; }
[XmlElement("Items")]
public Item[] Items { get; set; }
[XmlElement("BodyText")]
public BodyText BodyText { get; set; }
[XmlAttribute("id")]
public string id { get; set; }
}
[XmlRoot("Items")]
public partial class Items
{
[XmlElement("Item")]
public Item[] Item { get; set; }
}
[XmlRoot("Item")]
public partial class Item
{
[XmlElement("BodyText")]
public BodyText BodyText { get; set; }
[XmlElement("PhoneNumber")]
public PhoneNr[] PhoneNr { get; set; }
[XmlElement("Subscript")]
public Subscript[] Subscript { get; set; }
[XmlAttribute("car")]
public string car { get; set; }
[XmlAttribute("id")]
public string id { get; set; }
}
[XmlRoot("BodyText")]
public partial class BodyText
{
[XmlAttribute("color")]
public string color { get; set; }
[XmlAttribute("fonttype")]
public string fonttype { get; set; }
[XmlAttribute("fontsize")]
public string fontsize { get; set; }
[XmlAttribute("fontweight")]
public string fontweight { get; set; }
[XmlText]
public string Value { get; set; }
}
[XmlRoot("Subscript")]
public partial class Subscript
{
[XmlAttribute("for")]
public string @for { get; set; }
[XmlText]
public string Value { get; set; }
}
[XmlRoot("PhoneNr")]
public partial class PhoneNr
{
[XmlElement("Display")]
public string Display { get; set; }
[XmlElement("Number")]
public string Number { get; set; }
[XmlAttribute("id")]
public string id { get; set; }
}
クラスの結果のオブジェクトにはTable
単一のRow
要素が含まれていますが、これは問題ありませんが、内部の要素Row
はすべてnullです。Items
シリアライザーがクラスに一致しないようです。
何ができるので、Items
とItem
はオブジェクトに正しく逆シリアル化されますか?