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