我有一个XML文件,想要将其插入数据表中。
xml文件的格式如下:
<userid ID="37729">
<TestId ID="84" TimeRemaining="60" />
<QuestId ID="1">
<Answer1>
</Answer1>
<Answer2>B</Answer2>
<Answer3>
</Answer3>
<Answer4>
</Answer4>
</QuestId>
</userid>
现在,我想将其插入如下所示的数据表中:
Question Id Answer1 Answer2 Answer3 Answer4
1 A D
2 B C
3 C
任何人都可以帮助我实现这一目标。
最佳答案
我将首先使用所需的列创建一个DataTable
,然后通过Linq-to-XML进行填充。
您可以使用Select查询创建代表每一行的对象,然后使用标准方法为每个项目创建DataRows ...
class Quest
{
public string Answer1;
public string Answer2;
public string Answer3;
public string Answer4;
}
public static void Main()
{
var doc = XDocument.Load("filename.xml");
var rows = doc.Descendants("QuestId").Select(el => new Quest
{
Answer1 = el.Element("Answer1").Value,
Answer2 = el.Element("Answer2").Value,
Answer3 = el.Element("Answer3").Value,
Answer4 = el.Element("Answer4").Value,
});
// iterate over the rows and add to DataTable ...
}