I have the following xml document that is from a 3 party and saved in a database. I am trying to figure out the best way take the document and load classes so I can manipulate the data and then save it to the database in tables that closely representing the class.
<Payroll xmlns:dtv="http://www.datavantagecorp.com/xstore/"><dtv:Payroll>
<dtv:StartDate>2015-02-08</dtv:StartDate>
<dtv:EndDate>2015-02-14</dtv:EndDate>
<dtv:PostedDate>2015-02-16</dtv:PostedDate>
<dtv:Employee EmployeeId="111122">
<dtv:EmployeePayStatus></dtv:EmployeePayStatus>
<dtv:PayrollStoreNumber>8009</dtv:PayrollStoreNumber>
<dtv:ReviewedDate></dtv:ReviewedDate>
<dtv:PayrollCategory Category="OT">
<dtv:PayrollDate>2015-02-14</dtv:PayrollDate>
<dtv:Hours>0.53</dtv:Hours>
<dtv:PayrollDate>2015-02-12</dtv:PayrollDate>
<dtv:Hours>0.77</dtv:Hours>
<dtv:PayrollDate>2015-02-11</dtv:PayrollDate>
<dtv:Hours>0.13</dtv:Hours>
<dtv:PayrollDate>2015-02-09</dtv:PayrollDate>
<dtv:Hours>0.12</dtv:Hours>
</dtv:PayrollCategory>
<dtv:PayrollCategory Category="DT">
</dtv:PayrollCategory>
<dtv:PayrollCategory Category="REGULAR">
<dtv:PayrollDate>2015-02-09</dtv:PayrollDate>
<dtv:Hours>8.00</dtv:Hours>
<dtv:WorkCode code="888">
<dtv:TotalHours>8.12</dtv:TotalHours>
</dtv:WorkCode>
<dtv:PayrollDate>2015-02-10</dtv:PayrollDate>
<dtv:Hours>6.03</dtv:Hours>
<dtv:WorkCode code="888">
<dtv:TotalHours>6.03</dtv:TotalHours>
</dtv:WorkCode>
<dtv:PayrollDate>2015-02-11</dtv:PayrollDate>
<dtv:Hours>8.00</dtv:Hours>
<dtv:WorkCode code="888">
<dtv:TotalHours>8.13</dtv:TotalHours>
</dtv:WorkCode>
<dtv:PayrollDate>2015-02-12</dtv:PayrollDate>
<dtv:Hours>8.00</dtv:Hours>
<dtv:WorkCode code="888">
<dtv:TotalHours>8.77</dtv:TotalHours>
</dtv:WorkCode>
<dtv:PayrollDate>2015-02-13</dtv:PayrollDate>
<dtv:Hours>6.81</dtv:Hours>
<dtv:WorkCode code="888">
<dtv:TotalHours>6.81</dtv:TotalHours>
</dtv:WorkCode>
<dtv:PayrollDate>2015-02-14</dtv:PayrollDate>
<dtv:Hours>3.16</dtv:Hours>
<dtv:WorkCode code="888">
<dtv:TotalHours>3.69</dtv:TotalHours>
</dtv:WorkCode>
</dtv:PayrollCategory>
<dtv:PayrollCategory Category="SICK">
</dtv:PayrollCategory>
<dtv:PayrollCategory Category="VACATION">
</dtv:PayrollCategory>
<dtv:PayrollCategory Category="HOLIDAY">
</dtv:PayrollCategory>
<dtv:PayrollCategory Category="RT">
</dtv:PayrollCategory>
<dtv:PayrollCategory Category="EO">
</dtv:PayrollCategory>
<dtv:PayrollCategory Category="RSA">
</dtv:PayrollCategory>
</dtv:Employee>
</dtv:Payroll>
</Payroll>
The XML can have several Employees within a Payroll. I was thinking I would have the following classes:
Payroll Employee PayrollCategory
where for each Payroll, there is a list of employees and each employee has a list of PayrollCategory. I have started heading down the following path but not sure if this is the best way or if there is a better solution.
foreach (DataRow row in ds.Tables[0].Rows)
{
var doc = new XmlDocument();
doc.LoadXml(row[0].ToString());
}
Any suggestions or links on how to go out handling this would be greatly appreciated.