このコードを実行していますが、xmlデータにアクセスできません。私はC#でクラスへとオブジェクトには、次のXMLシリアル化を解除したいXMLをオブジェクトに逆シリアル化する方法
:
XMLファイルはです:
<EmployeeCollection>
<EmployeeDetail>
<Employee ID ="EMP-01">
<Name>ABC</Name>
<MobileNumber></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データを保存したいとします。
XMLデータにアクセスしようとしましたが、アクセスできませんでした。
アニルはすでに、これは、この質問の最初のバージョンではそうではありませんでした。この遠く –
@Rolandショーをgottonているように見えます。質問には複数の編集があり、この答えは手動でオブジェクトにマッピングするのを避けるための一般的な「方法」です。下降の理由ではありません:( –
質問の最初のバージョンでは、XMLシリアル化用にマークアップされたクラスがありましたが、その場合でも、データのシリアライズ/デシリアライズ –