【发布时间】:2016-06-07 07:10:35
【问题描述】:
我的 XML 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfAddressDetails xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AddressDetails>
<DbServerName>2k8</DbServerName>
</AddressDetails>
<AddressDetails>
<DbServerName>2k8R2D3</DbServerName>
</AddressDetails>
</ArrayOfAddressDetails>
我为它创建了两个类,如下所示:
public class AddressDetails
{
public string DbServerName { get; set; }
}
}
和另一个类来保存这些列表:
public class AddressList
{
public List<AddressDetails> addressList= new List<AddressDetails>() ;
}
这就是我反序列化它的方式:
XmlSerializer deSerializer = new XmlSerializer(typeof(AddressList));
TextReader reader = new StreamReader(@"C:\TEMP\MyXML.xml");
Object obj = deSerializer.Deserialize(reader);
AddressList adrsList = (AddressList)obj;
reader.Close();
但是在反序列化方法上我得到这个错误:
【问题讨论】:
-
将“AddressList”重命名为“ArrayOfAddressDetails”。或者转到 xml 并将“ArrayOfAddressDetails”重命名为“AddressList”。
标签: c# xml serialization deserialization