【发布时间】:2012-03-01 07:04:08
【问题描述】:
我有这种格式的 XML -
<Areas>
<Area>
<Property Name="Test11">a1</Property>
<Property Name="Test12">a2</Property>
<Property Name="Test13">a3</Property>
<Property Name="Test14">a4</Property>
<Property Name="Test15">a5</Property>
</Area>
<Area>
<Property Name="Test21">b1</Property>
<Property Name="Test22">b2</Property>
<Property Name="Test23">b3</Property>
<Property Name="Test24">b4</Property>
<Property Name="Test25">b5</Property>
</Area>
</Areas>
我使用 Microsoft 提供的 xsd.exe 生成了类 -
[Serializable()]
public partial class Areas
{
[XmlArrayItem("Property", typeof(AreasAreaProperty))]
public AreasAreaProperty[][] Area { get; set; }
}
[Serializable()]
public partial class AreasAreaProperty
{
[XmlAttribute()]
public string Name { get; set; }
[XmlText()]
public string Value { get; set; }
}
反序列化的代码是 -
private void Deserialize()
{
XmlSerializer xs = new XmlSerializer(typeof(Areas));
FileStream fs = new FileStream("XMLFile1.xml", FileMode.Open);
XmlReader xr = new XmlTextReader(fs);
Areas a = (Areas)xs.Deserialize(xr);
fs.Close();
}
但是在反序列化时,我收到了这个错误 - 无法将类型“AreasAreaProperty[]”转换为“AreasAreaProperty” 我在创建 XMLSerializer 对象时收到此错误。
如何解决这个问题??提前谢谢..
【问题讨论】:
标签: c# xml xml-serialization xsd xml-parsing