【发布时间】:2017-08-20 02:31:35
【问题描述】:
我正在关注此代码,但我无法访问 xml 数据。
我想将以下 XML 反序列化为 C# 中的对象类:
XML 文件是:
<EmployeeCollection>
<EmployeeDetail>
<Employee ID ="EMP-01">
<Name>ABC</Name>
<MobileNumber>9876543210</MobileNumber>
<Age>20</Age>
<Gender>Male</Gender>
<MartialStatus>Single</MartialStatus>
<DOB>1997-01-12</DOB>
<Branch Name="XYZ">
<CountryCode>IND</CountryCode>
<EstablishmentDate>2013-01-15</EstablishmentDate>
</Branch>
</Employee>
<Employee ID ="EMP-02">
<Name>DEF</Name>
<MobileNumber>9685741236</MobileNumber>
<Age>19</Age>
<Gender>Male</Gender>
<MartialStatus>Single</MartialStatus>
<DOB>19998-12-21</DOB>
<Branch Name="PQR">
<CountryCode>US</CountryCode>
<EstablishmentDate>2011-01-23</EstablishmentDate>
</Branch>
</Employee>
</EmployeeDetail>
</EmployeeCollection>
我有这个:
public class Employee
{
[XmlAttribute("ID")]
public string ID { get; set; }
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("MobileNumber")]
public long MobileNumber { get; set; }
[XmlElement("Age")]
public int Age { get; set; }
[XmlElement("Gender")]
public string Gender { get; set; }
[XmlElement("MartialStatus")]
public string MartialStatus { get; set; }
[XmlElement("DOB")]
public DateTime DOB { get; set; }
[XmlArray("Branch")]
public BranchDetail[] Branch { get; set; }
}
public class BranchDetail
{
[XmlAttribute("Name")]
public string BranchName { get; set; }
[XmlElement("CountryCode")]
public string CountryCode { get; set; }
[XmlElement("EstablishmentDate")]
public DateTime EstablishmentDate { get; set; }
}
[XmlRoot("EmployeeDetail")]
public class EmployeeCollection
{
[XmlArray("Employee")]
public Employee[] Employee { get; set; }
}
我的代码是:
public class EmployeeSerializer
{
public void Deserialize()
{
EmployeeCollection Employees = null;
XmlSerializer serializer = new XmlSerializer(typeof(EmployeeCollection));
StreamReader reader = new StreamReader(employee.xml);
Employees = (EmployeeCollection)serializer.Deserialize(reader);
reader.Close();
}
}
我想将所有 xml 数据存储到 Object 中。
我试过了,但无法访问 xml 数据。
【问题讨论】:
标签: c# .net xml deserialization xml-deserialization