有什么快速的方法可以读取 XML 文件并将信息转储到数据库中吗?
我有一个 XSD 文件,并使用此处提供的 Xsd2DB 实用程序创建了一个数据库(http://xsd2db.sourceforge.net/) -
我现在有了要插入数据库的 XML 文件,有什么快速的方法吗?或者唯一的方法是读取/遍历 xml 并将记录插入数据库?
我试过以下
- 我尝试将 XSD 读入 DataSet
- 然后我将 XML 读入同一个 DS
但是不知道怎么告诉Adapter把所有的表都推入数据库?
有什么快速的方法可以读取 XML 文件并将信息转储到数据库中吗?
我有一个 XSD 文件,并使用此处提供的 Xsd2DB 实用程序创建了一个数据库(http://xsd2db.sourceforge.net/) -
我现在有了要插入数据库的 XML 文件,有什么快速的方法吗?或者唯一的方法是读取/遍历 xml 并将记录插入数据库?
我试过以下
但是不知道怎么告诉Adapter把所有的表都推入数据库?
您可以将 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