我有以下 XML 文件,我正在尝试使用 DE 序列化将其读入 c# 中的类:
<?xml version="1.0"?>
<PropertiesMapping>
<Property>
<WEB_Class>InfoRequest</WEB_Class>
<COM_Class>CInfoReq</COM_Class>
<Mappings>
<Map>
<WEB_Property>theId</WEB_Property>
<COM_Property>TheID</COM_Property>
</Map>
<Map>
<WEB_Property>theName</WEB_Property>
<COM_Property>NewName</COM_Property>
</Map>
</Mappings>
</Property>
</PropertiesMapping>
以下是我正在使用的代码,虽然它执行没有错误,但没有数据被读取到类 PropertiesMapping 中,我哪里出错了?
PropertiesMapping pm = null;
try
{
System.IO.StreamReader str = new System.IO.StreamReader(@"PropertyMapping.xml");
System.Xml.Serialization.XmlSerializer xSerializer = new System.Xml.Serialization.XmlSerializer(typeof(PropertiesMapping));
pm = (PropertiesMapping)xSerializer.Deserialize(str);
str.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public class PropertiesMapping
{
private string m_WEB_Class = "";
private string m_COM_Class = "";
private List<IndividualProperties> m_EachProperty = null;
public string WEB_Class
{
get
{
return m_WEB_Class;
}
set
{
m_WEB_Class = value;
}
}
public string COM_Class
{
get
{
return m_COM_Class;
}
set
{
m_COM_Class = value;
}
}
public IndividualProperties GetIndividualProperties(int iIndex)
{
return m_EachProperty[iIndex];
}
public void SetIndividualProperties(IndividualProperties theProp)
{
m_EachProperty.Add(theProp);
}
}
public class IndividualProperties
{
private string m_WEB_PropertyField;
private string m_COM_PropertyField;
public string WEB_Property
{
get
{
return this.m_WEB_PropertyField;
}
set
{
this.m_WEB_PropertyField = value;
}
}
public string COM_Property
{
get
{
return this.m_COM_PropertyField;
}
set
{
this.m_COM_PropertyField = value;
}
}
}