vb.net datatable xml 序列化及反序列化
vb.net datatable xml 序列化及反序列化
datatable xml 序列化及反序列化
如下示例
代码如下
Imports System.Collections ' 使用ArrayList引用
Imports System.IO
Imports System.Text
Imports System.Xml
Imports System.Xml.Serialization
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 创建DataTable对象
Dim dt As New DataTable()
' 定义列名及数据类型
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("Age", GetType(Integer))
' 添加新行到DataTable
dt.Rows.Add(1, "张三", 25)
dt.Rows.Add(2, "李四", 30)
dt.Rows.Add(3, "王五", 28)
dt.AcceptChanges()
TextBox1.Text = datatable_ToXml(dt).ToString
If Not TextBox1.Text = "" Then
DataGridView1.DataSource = datatable_fromXml(TextBox1.Text)
End If
End Sub
'A1
Public Function Datatable_FromXml(ByVal strXml As String) As DataTable
Dim sr As StringReader = New StringReader(strXml)
Dim xtr As XmlTextReader = New XmlTextReader(sr)
Dim dt As DataTable = New DataTable
dt.ReadXml(xtr)
sr.Close()
xtr.Close()
Return dt
End Function
'A2
Public Function datatable_ToXml(ByVal dt As DataTable) As StringBuilder
If dt.TableName = "" Then dt.TableName = "dt_name" '必须设置表名或dt传入时包含表名,否则出错
Dim stb As StringBuilder = New StringBuilder
Dim serializer As XmlSerializer = New XmlSerializer(GetType(DataTable))
Dim writer As XmlWriter = XmlWriter.Create(stb)
serializer.Serialize(writer, dt)
writer.Close()
Return stb
End Function
End Class

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)