簡體   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