我有以下 XML:
<MovieRunTimes>
<ShowDate>6/9/2012</ShowDate>
<ShowTimesByDate xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:string>12:25</a:string>
<a:string>17:30</a:string>
<a:string>22:35</a:string>
</ShowTimesByDate>
<TicketURI>http://www.fandango.com/tms.asp?t=AANCC&m=112244&d=2012-06-09</TicketURI>
</MovieRunTimes>
以及以下 C# 类:
public class MovieRunTimes
{
[XmlElement("ShowDate")]
public string ShowDate { get; set; }
[XmlElement("TicketURI")]
public string TicketUri { get; set; }
[XmlArray("ShowTimesByDate", Namespace = "http://schemas.microsoft.com/2003/10/Serialization/Arrays")]
public List<string> ShowTimesByDate { get; set; }
}
不幸的是,我反序列化后 ShowTimesByDate 是空的。如果我从 ShowTimesByDate 元素中删除名称空间并从字符串元素中删除前缀,那么它可以很好地反序列化。如何正确使用命名空间来反序列化 XML?