Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从xml中读取数据并使用C编写数据库#_C#_Linq - Fatal编程技术网

C# 从xml中读取数据并使用C编写数据库#

C# 从xml中读取数据并使用C编写数据库#,c#,linq,C#,Linq,有没有快速读取XML文件并将信息转储到数据库中的方法 我有一个XSD文件,我使用Xsd2DB实用工具创建了一个数据库- 我现在有了要插入数据库的XML文件,有没有快速的方法?或者唯一的方法是读取/迭代xml并将记录插入数据库 我试着跟着 我尝试将XSD读入数据集中 然后我将XML读入相同的DS 但我不知道如何告诉适配器将所有表推入数据库 您可以将xml文件读入数据集中,然后将数据集添加到表中。如何进行这项工作取决于您的SQL server(mySql、Oracle、MS SQL)。下面是一个

有没有快速读取XML文件并将信息转储到数据库中的方法

我有一个XSD文件,我使用Xsd2DB实用工具创建了一个数据库-

我现在有了要插入数据库的XML文件,有没有快速的方法?或者唯一的方法是读取/迭代xml并将记录插入数据库

我试着跟着

  • 我尝试将XSD读入数据集中
  • 然后我将XML读入相同的DS

但我不知道如何告诉适配器将所有表推入数据库

您可以将xml文件读入数据集中,然后将数据集添加到表中。如何进行这项工作取决于您的SQL server(mySql、Oracle、MS SQL)。下面是一个例子:

Imports System.Xml
Imports System.Data.SqlClient
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim connetionString As String
    Dim connection As SqlConnection
    Dim command As SqlCommand
    Dim adpter As New SqlDataAdapter
    Dim ds As New DataSet
    Dim xmlFile As XmlReader
    Dim sql As String

    Dim product_ID As Integer
    Dim Product_Name As String
    Dim product_Price As Double

    connetionString = "Data Source=servername;Initial Catalog=databsename;User ID=username;Password=password"
    connection = New SqlConnection(connetionString)

    xmlFile = XmlReader.Create("Product.xml", New XmlReaderSettings())
    ds.ReadXml(xmlFile)
    Dim i As Integer
    connection.Open()
    For i = 0 To ds.Tables(0).Rows.Count - 1
        product_ID = Convert.ToInt32(ds.Tables(0).Rows(i).Item(0))
        Product_Name = ds.Tables(0).Rows(i).Item(1)
        product_Price = Convert.ToDouble(ds.Tables(0).Rows(i).Item(2))
        sql = "insert into Product values(" & product_ID & ",'" & Product_Name & "'," & product_Price & ")"
        command = New SqlCommand(sql, connection)
        adpter.InsertCommand = command
        adpter.InsertCommand.ExecuteNonQuery()
    Next
    connection.Close()
End Sub
末级


您可以在这里找到更多示例:

这不是两个问题吗:
如何从xml读取数据
如何将数据写入数据库
?真正的问题是是否有一种简单的方法将xml转储到数据库中。读入dataset然后迭代它+运行查询以将数据保存到数据库中看起来很简单,但真正的问题是XSD非常复杂,当我读入dataset时会生成大约22个表,我一直在寻找通过在dataset和数据库之间做一些映射将其保存到数据库中的方法。我研究了Linq到XML,但这看起来更像是编码。让我知道这是否有助于理解问题,你有一些建议