繁体   English   中英

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

[英]Reading data from xml and writing in database using C#

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

我有一个XSD文件,并使用Xsd2DB实用程序(在此处提供该数据库)创建了一个数据库( http://xsd2db.sourceforge.net/)-

我现在有要插入数据库的XML文件,有什么快速的方法吗? 还是唯一的方法是通过xml读取/迭代并将记录插入数据库中?

我尝试了以下

  • 我试图将XSD读入DataSet
  • 然后,我将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

末级

您可以在此处找到更多示例: http : //vb.net-informations.com/xml/vb.net-xml-insert-database.htm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM