繁体   English   中英

如何从 vb.net 中的数据库创建 XML 文件

[英]how to create XML file from database in vb.net

如何使用 vb.net 从数据库创建 XML 文件正如我尝试的那样,我只创建了根元素,而不是数据库中的任何数据,我的代码是:

<% @Import Namespace="System" %>
<% @Import Namespace="System.Data" %>
<% @Import Namespace="System.xml" %>
<% @Import Namespace="System.Data.SqlClient" %>

<Script runat="server">
Sub Page_Load

Dim connectionString As String
Dim connection As SqlConnection
Dim adapter As SqlDataAdapter
Dim ds  As New DataSet
Dim sql As String

connectionString =// my connection string///
connection = New SqlConnection(connectionString) 


sql = "select * from jb_jobs where city='Los Angeles' "
connection.Open()
adapter = New SqlDataAdapter(sql, connection)
adapter.Fill(ds)
connection.Close()
If IO.File.Exists("product.xml") = False Then
Dim settings As New XmlWriterSettings()
settings.Indent = True
Dim XmlWrt As XmlWriter = XmlWriter.Create("c:/xmlfiles/product.xml", settings)
XmlWrt.WriteStartDocument()
XmlWrt.WriteComment("XML Database.")
XmlWrt.WriteStartElement("source")
XmlWrt.WriteStartElement("jobs")



XmlWrt.WriteEndElement()
XmlWrt.WriteEndDocument()
XmlWrt.Close()
End If
End Sub
</script>

我得到的输出只是一个 XML 文件,它只使用上述根元素创建,而不是来自数据库的数据。

如何从数据库中获取数据并形成 XML 文件?

尝试使用 WriteXml 方法,如下所示:

Private Sub WriteXmlToFile(thisDataSet As DataSet)
 If thisDataSet Is Nothing Then 
     Return 
 End If  

' Create a file name to write to. 
 Dim filename As String = "XmlDoc.xml" 

 ' Create the FileStream to write with. 
 Dim stream As New System.IO.FileStream _
    (filename, System.IO.FileMode.Create)

 ' Write to the file with the WriteXml method.
 thisDataSet.WriteXml(stream)
End Sub

您可以在 MSDN 上找到有关DataTable.WriteXmlDataSet.WriteXml 的更多信息。

所以你应该问过'从数据库中检索数据'??

如何更改 SQL 语句:

SQL = select * from jb_jobs where city='Los Angeles'

SQL = select * from jb_jobs where city LIKE 'Los Angeles' -> String

要么

SQL = select * from jb_jobs where city = CityID -> Integer

暂无
暂无

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

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