Tips and tricks for .NET using ASP and VB code.

Convert XML text to a DataView table (Vb.Net)

Public Class Form1

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Size = New System.Drawing.Size(750, 570)
Me.Show()
Dim DataGridView1 As New DataGrid
DataGridView1.Location = New System.Drawing.Point(25, 25)
DataGridView1.Size = New System.Drawing.Size(700, 500)
DataGridView1.Anchor = _
CType((((System.Windows.Forms.AnchorStyles.Top _
Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), _
System.Windows.Forms.AnchorStyles)
DataGridView1.Visible = True
Me.Controls.Add(DataGridView1)
Dim XmlText As String = My.Computer.FileSystem.ReadAllText("C:\Folder\XmlFile.XML")
Dim DataView1 As Data.DataView = XmlText2DataView(XmlText)
DataGridView1.DataSource = DataView1
XmlText = Nothing
Application.DoEvents()
End Sub

Function XmlText2DataView(ByVal XmlText As String, _
Optional ByVal TableName As String = "") As Data.DataView
Dim XmlDataSet As New Data.DataSet
Dim CharacterEncoding As New System.Text.UTF8Encoding
Dim ByteData As Byte() = CharacterEncoding.GetBytes(XmlText)
Dim MemoryStreamData As New IO.MemoryStream(ByteData)
Dim StreamData As IO.Stream = CType(MemoryStreamData, IO.Stream)
Try
XmlDataSet.ReadXml(StreamData)
Catch
End Try
If (TableName = "") And (XmlDataSet.Tables.Count > 0) Then
TableName = XmlDataSet.Tables(0).TableName
End If
Dim XmlDataView As New Data.DataView(XmlDataSet.Tables(TableName))
Return XmlDataView
End Function

End Class

No comments:

Post a Comment

Search This Blog