1

有什么快速的方法可以读取 XML 文件并将信息转储到数据库中吗?

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

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

我试过以下

  • 我尝试将 XSD 读入 DataSet
  • 然后我将 XML 读入同一个 DS

但是不知道怎么告诉Adapter把所有的表都推入数据库?

4

1 回答 1

0

您可以将 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

于 2013-03-04T19:55:12.997 回答