Sunday, 1 March 2015

XML deserializing not loading values to class



I have the following XML for which I auto generated a class. Once the class was generated, I had to make some adjustments to get the PayrollEmployeePayrollDate class and the PayrollEmployeePayrollCategoryWorkCode. Since I made the adjustments, both classes are loaded but all the values are null. I don't get any error unless they are being consumed during the deserialization process. Why are my values not being loaded into the class?



<Payroll>
<StartDate>2015-02-22</StartDate>
<EndDate>2015-02-28</EndDate>
<PostedDate>2015-02-28</PostedDate>
<Employee EmployeeId="123456">
<EmployeePayStatus></EmployeePayStatus>
<PayrollStoreNumber>1111</PayrollStoreNumber>
<ReviewedDate></ReviewedDate>
<PayrollCategory Category="OT">
</PayrollCategory>
<PayrollCategory Category="DT">
</PayrollCategory>
<PayrollCategory Category="REGULAR">
<PayrollDate>2015-02-23</PayrollDate>
<Hours>5.97</Hours>
<WorkCode code="888">
<TotalHours>5.97</TotalHours>
</WorkCode>
<PayrollDate>2015-02-24</PayrollDate>
<Hours>6.07</Hours>
<WorkCode code="888">
<TotalHours>6.07</TotalHours>
</WorkCode>
<PayrollDate>2015-02-25</PayrollDate>
<Hours>6.00</Hours>
<WorkCode code="888">
<TotalHours>6.00</TotalHours>
</WorkCode>
<PayrollDate>2015-02-26</PayrollDate>
<Hours>8.44</Hours>
<WorkCode code="888">
<TotalHours>8.44</TotalHours>
</WorkCode>
<PayrollDate>2015-02-27</PayrollDate>
<Hours>7.90</Hours>
<WorkCode code="888">
<TotalHours>7.90</TotalHours>
</WorkCode>
</PayrollCategory>
<PayrollCategory Category="SICK">
</PayrollCategory>
<PayrollCategory Category="VACATION">
</PayrollCategory>
<PayrollCategory Category="HOLIDAY">
</PayrollCategory>
<PayrollCategory Category="RT">
</PayrollCategory>
<PayrollCategory Category="EO">
</PayrollCategory>
<PayrollCategory Category="RSA">
</PayrollCategory>
</Employee>
<Employee EmployeeId="987654">
<EmployeePayStatus></EmployeePayStatus>
<PayrollStoreNumber>1111</PayrollStoreNumber>
<ReviewedDate></ReviewedDate>
<PayrollCategory Category="OT">
</PayrollCategory>
<PayrollCategory Category="DT">
</PayrollCategory>
<PayrollCategory Category="REGULAR">
<PayrollDate>2015-02-23</PayrollDate>
<Hours>6.38</Hours>
<WorkCode code="888">
<TotalHours>6.38</TotalHours>
</WorkCode>
<PayrollDate>2015-02-24</PayrollDate>
<Hours>6.82</Hours>
<WorkCode code="888">
<TotalHours>6.82</TotalHours>
</WorkCode>
<PayrollDate>2015-02-25</PayrollDate>
<Hours>6.83</Hours>
<WorkCode code="888">
<TotalHours>6.83</TotalHours>
</WorkCode>
<PayrollDate>2015-02-26</PayrollDate>
<Hours>7.32</Hours>
<WorkCode code="888">
<TotalHours>7.32</TotalHours>
</WorkCode>
<PayrollDate>2015-02-27</PayrollDate>
<Hours>7.40</Hours>
<WorkCode code="888">
<TotalHours>7.40</TotalHours>
</WorkCode>
<PayrollDate>2015-02-28</PayrollDate>
<Hours>4.17</Hours>
<WorkCode code="888">
<TotalHours>4.17</TotalHours>
</WorkCode>
</PayrollCategory>
<PayrollCategory Category="SICK">
</PayrollCategory>
<PayrollCategory Category="VACATION">
</PayrollCategory>
<PayrollCategory Category="HOLIDAY">
</PayrollCategory>
<PayrollCategory Category="RT">
</PayrollCategory>
<PayrollCategory Category="EO">
</PayrollCategory>
<PayrollCategory Category="RSA">
</PayrollCategory>
</Employee>
</Payroll>


Here is the class I am working with.



namespace PayrollProcessor.BL
{
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public class Payroll
{

private System.DateTime startDateField;

private System.DateTime endDateField;

private System.DateTime postedDateField;

private PayrollEmployee[] employeeField;

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType = "date")]
public System.DateTime StartDate
{
get
{
return this.startDateField;
}
set
{
this.startDateField = value;
}
}

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType = "date")]
public System.DateTime EndDate
{
get
{
return this.endDateField;
}
set
{
this.endDateField = value;
}
}

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType = "date")]
public System.DateTime PostedDate
{
get
{
return this.postedDateField;
}
set
{
this.postedDateField = value;
}
}

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Employee")]
public PayrollEmployee[] Employee
{
get
{
return this.employeeField;
}
set
{
this.employeeField = value;
}
}
}

/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class PayrollEmployee
{

private string employeePayStatusField;

private string payrollStoreNumberField;

private string reviewedDateField;

private PayrollEmployeePayrollCategory[] payrollCategoryField;

private int employeeIdField;

/// <remarks/>
public string EmployeePayStatus
{
get
{
return this.employeePayStatusField;
}
set
{
this.employeePayStatusField = value;
}
}

/// <remarks/>
public string PayrollStoreNumber
{
get
{
return this.payrollStoreNumberField;
}
set
{
this.payrollStoreNumberField = value;
}
}

/// <remarks/>
public string ReviewedDate
{
get
{
return this.reviewedDateField;
}
set
{
this.reviewedDateField = value;
}
}

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("PayrollCategory")]
public PayrollEmployeePayrollCategory[] PayrollCategory
{
get
{
return this.payrollCategoryField;
}
set
{
this.payrollCategoryField = value;
}
}

/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public int EmployeeId
{
get
{
return this.employeeIdField;
}
set
{
this.employeeIdField = value;
}
}
}

/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class PayrollEmployeePayrollCategory
{
private PayrollEmployeePayrollDate[] payrollEmployeePayrollDatesField;

private string categoryField;

/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Category
{
get
{
return this.categoryField;
}
set
{
this.categoryField = value;
}
}

[System.Xml.Serialization.XmlElementAttribute("PayrollDate")]
public PayrollEmployeePayrollDate[] PayrollEmployeePayrollDates
{
get
{
return payrollEmployeePayrollDatesField;
}
set
{
payrollEmployeePayrollDatesField = value;
}
}

}

[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class PayrollEmployeePayrollDate
{
private DateTime? paryrollDateField;

private decimal? hours;

private PayrollEmployeePayrollCategoryWorkCode[] payrollEmployeePayrollCategoryWorkCode;

[System.Xml.Serialization.XmlElementAttribute("PayrollDate", typeof(System.DateTime), DataType = "date")]
public DateTime? PayrollDate
{
get
{
return this.paryrollDateField;
}
set
{
this.paryrollDateField = value;
}
}

[System.Xml.Serialization.XmlElementAttribute("Hours", typeof(decimal))]
public decimal? Hours
{
get
{
return this.hours;
}
set
{
this.hours = value;
}
}

[System.Xml.Serialization.XmlElementAttribute("WorkCode", typeof(PayrollEmployeePayrollCategoryWorkCode))]
public PayrollEmployeePayrollCategoryWorkCode[] WorkCode
{
get
{
return payrollEmployeePayrollCategoryWorkCode;
}
set
{
payrollEmployeePayrollCategoryWorkCode = value;
}
}
}


/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class PayrollEmployeePayrollCategoryWorkCode
{

private decimal totalHoursField;

private int codeField;

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("TotalHours", typeof(decimal))]
public decimal TotalHours
{
get
{
return this.totalHoursField;
}
set
{
this.totalHoursField = value;
}
}

/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public int code
{
get
{
return this.codeField;
}
set
{
this.codeField = value;
}
}
}
}

No comments:

Post a Comment