14
我收到這樣的xml文件。將XML字符串反序列化到c#對象中
<radio>
<channel id="Opus">
<display-name>Opus</display-name>
<icon src="" />
</channel>
<channel id="Klasika">
<display-name>Klasika</display-name>
<icon src="" />
</channel>
<channel id="LR">
<display-name>LR</display-name>
<icon src="" />
</channel>
<programme channel="Opus" start="20130203060000" stop="20130203110000" duration="050000">
<title lang="lt">OPUS muzika.</title>
<desc lang="lt">OPUS muzika.</desc>
<category lang="lt">muzikos laidos</category>
<date>2013.02.03</date>
</programme>
<programme channel="Opus" start="20130203110000" stop="20130203150000" duration="040000">
<title lang="lt">Vėlyvi pusryčiai su OPUS.</title>
<desc lang="lt">Vėlyvi pusryčiai su OPUS.</desc>
<category lang="lt">muzikos laidos</category>
<date>2013.02.03</date>
</programme>
</radio>
與程序和通道的許多實例。我嘗試將其反序列化到這個C#的對象,但我得到一個空,而不是對象:
[XmlRoot("radio")]
public sealed class radio
{
[XmlRoot("channel")]
public sealed class channel
{
[XmlAttribute("id")]
public string id { get; set; }
[XmlElement("display-name")]
public string displayName { get; set; }
[XmlElement("icon")]
public string icon { get; set; }
public channel()
{
}
}
[XmlRoot("programme")]
public sealed class programme
{
[XmlAttribute("channel")]
public string channel { get; set; }
[XmlAttribute("start")]
public string start { get; set; }
[XmlAttribute("stop")]
public string stop { get; set; }
[XmlAttribute("duration")]
public string duration { get; set; }
[XmlElement("title")]
public string title { get; set; }
[XmlElement("desc")]
public string desc { get; set; }
[XmlElement("category")]
public string category { get; set; }
[XmlElement("date")]
public string date { get; set; }
public programme()
{
}
}
[XmlArray]
public channel[] channels { get; set; }
[XmlArray]
public programme[] programmes { get; set; }
public radio()
{
channels = null;
programmes = null;
}
public static radio FromXmlString(string xmlString)
{
var reader = new StringReader(xmlString);
var serializer = new XmlSerializer(typeof(radio));
var instance = (radio)serializer.Deserialize(reader);
return instance;
}
}
我在做什麼錯的,什麼是正確的XML對象類?
確保你裝飾的每個元素/陣列/屬性只有一次 – dubi