将xml数据填充到SQL Server表中

时间:2015-03-25 12:13:25

标签: c# sql-server xml datatable

我试图从xml文件中读取数据并填充到SQL Server表中。我的xml文件结构是:

<?xml version="1.0" encoding="utf-8"?>
<Methods>
  <Method>
    <ColName>ColName1</ColName>
    <ColID>ColID1</ColID>
    <Col1>Column1Row1</Col1>
    <Col2>Column2Row1</Col2>
    <Col3>Column3Row1</Col3>
    <Col4>Column3Row1</Col4>
  </Method>
  <Method>
    <ColName>ColName2</ColName>
    <ColID>ColID2</ColID>
    <Col1>Column1Row2</Col1>
    <Col4>Column3Row2</Col4>
  </Method>
  </Methods>

整个xml文件是使用XSLT创建的,除了稍后在C#中添加到xml文件的Col4,使用:

XElement Col4 = new XElement("Col4", "Value");

当我使用以下代码时:

xmlFileReader = XmlReader.Create(xmlfilepath, new XmlReaderSettings());
dataset.ReadXml(xmlFileReader);

数据被填充到多个数据表中。在第二个数据表中,Col4信息以列名Col4_Text存储。

当我使用以下代码时:

string xmlString = File.ReadAllText(xmlfile);
dataset.ReadXml(XDocument.Parse(xmlString).Root.Element("Method").CreateReader());

上述xml节点位于Method节点下。 Method的父节点是Methods。

我将所有列数据放在一个数据表中。但是,它只返回第一行信息。我将xml数据填充到数据集中的原因是遍历数据集并将数据填充到SQL Server表中。

请让我知道如何将所有数据放入一个数据表或如何将多个数据表数据填充到SQL Servertable中或让我知道从上面的场景填充xml数据的最佳方法,以便我可以记录那些记录的详细信息无法在SQL Server表中填充。

0 个答案:

没有答案