使用c#从xml中读取数据并在数据库中写入数据

本文关键字:数据 数据库 读取 xml 使用 | 更新日期: 2023-09-27 18:02:04

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

我有一个XSD文件,我使用Xsd2DB实用程序创建了一个数据库,可以在这里(http://xsd2db.sourceforge.net/) -

我现在有XML文件,我想插入到数据库中,有什么快速的方法来做到这一点吗?或者唯一的方法是读取/遍历XML并将记录插入数据库?

I tried following

  • 我尝试读取XSD到数据集
  • 然后我读取XML到相同的DS

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

使用c#从xml中读取数据并在数据库中写入数据

您可以将xml文件读入数据集,然后将数据集添加到表中。你怎么做取决于你的SQL服务器(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

结束课

你可以在这里找到更多的例子:http://vb.net-informations.com/xml/vb.net-xml-insert-database.htm