我有這樣的XML結構(excert從更大的文件 - 只有這部分對問題)XML反序列化跳過元素
<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
反序列化是這種模式(也excert匹配的零件XML):
[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
類產生的對象包含單個元件,這是很好的,但:內部元素均爲空。看來序列化程序不能匹配Items
到他們的類。
我該怎麼做,所以Items
和Item
被正確反序列化成對象?
我加了缺失的根。我如何創建一個對象圖?我從來沒有聽說過這個詞。 – 2013-02-26 16:40:18
謝謝...通過對象圖我只是指內存中的對象(var myTable = new Table()等等,然後序列化它) – deblendewim 2013-02-26 16:44:06