我正在从XML中检索值并存储在数据表中,然后我将数据表值插入数据库。
Database表结构与我创建的数据表结构相同。
在下面的XML中,我只有3个节点(6个值包含EmpName和EmpID),所以我必须将这些节点值分配给我的数据表的前六列。数据表中的其余列应为空。我该如何循环?
注意:表结构仅固定为15个员工详细信息,这可能听起来很愚蠢,但这只是我的方案的一个示例,实际上与员工详细信息无关。如果XML中的节点超过15个,我将不得不忽略它。
XML:
<Employee>
<add>
<EmpName>Ronaldo</EmpName>
<EmpID>14</EmpID>
</add>
<add>
<EmpName>Messi</EmpName>
<EmpID>15</EmpID>
</add>
<add>
<EmpName>David</EmpName>
<EmpID>16</EmpID>
</add>
</Employee>
数据表:
dt_FAQ.Columns.Add("Employee_1", GetType(String))
dt_FAQ.Columns.Add("EmpID_1", GetType(String))
dt_FAQ.Columns.Add("Employee_2", GetType(String))
dt_FAQ.Columns.Add("EmpID_2", GetType(String))
dt_FAQ.Columns.Add("Employee_3", GetType(String))
dt_FAQ.Columns.Add("EmpID_3", GetType(String))
dt_FAQ.Columns.Add("Employee_4", GetType(String))
dt_FAQ.Columns.Add("EmpID_4", GetType(String))
dt_FAQ.Columns.Add("Employee_5", GetType(String))
dt_FAQ.Columns.Add("EmpID_5", GetType(String))
dt_FAQ.Columns.Add("Employee_6", GetType(String))
dt_FAQ.Columns.Add("EmpID_6", GetType(String))
dt_FAQ.Columns.Add("Employee_7", GetType(String))
dt_FAQ.Columns.Add("EmpID_7", GetType(String))
dt_FAQ.Columns.Add("Employee_8", GetType(String))
dt_FAQ.Columns.Add("EmpID_8", GetType(String))
dt_FAQ.Columns.Add("Employee_9", GetType(String))
dt_FAQ.Columns.Add("EmpID_9", GetType(String))
dt_FAQ.Columns.Add("Employee_10", GetType(String))
dt_FAQ.Columns.Add("EmpID_10", GetType(String))
dt_FAQ.Columns.Add("Employee_11", GetType(String))
dt_FAQ.Columns.Add("EmpID_11", GetType(String))
dt_FAQ.Columns.Add("Employee_12", GetType(String))
dt_FAQ.Columns.Add("EmpID_12", GetType(String))
dt_FAQ.Columns.Add("Employee_13", GetType(String))
dt_FAQ.Columns.Add("EmpID_13", GetType(String))
dt_FAQ.Columns.Add("Employee_14", GetType(String))
dt_FAQ.Columns.Add("EmpID_14", GetType(String))
dt_FAQ.Columns.Add("Employee_15", GetType(String))
dt_FAQ.Columns.Add("EmpID_15", GetType(String))
答案 0 :(得分:0)
尝试将此数据添加到您的行中,您可以替换“值”&amp; i.ToString()包含您的实际数据。
Dim workRow As DataRow
Dim i As Integer
workRow = dt_FAQ.NewRow()
For i = 0 To 28
if(i % 2 == 0) {
workRow(i) = node[Math.Floor(i/2)].EmpName
}
else
{
workRow(i) = node[Math.Floor(i/2)].EmpID
}
Next
dt_FAQ.Rows.Add(workRow)
HTH。