Create a XML file via a Dataset


Imports System.IO 
Imports System.Data.SqlClient 
Imports System.Xml 

Public Class frmForm 
    Inherits System.Windows.Forms.Form 

#Region " Windows Form Designer generated code " 
#End Region 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

        Dim strQu As String 

        ' SQL query 
        strQu = "SELECT * FROM VTR" 

        Dim objDataAda As New SqlDataAdapter(strQu, "server=dt870-Oracle;database=ABC;uid=sa;pwd=;") 
        Dim objDataTable As New DataTable("VTR") 
        Dim objDataSet As New DataSet 


        objDataAda.Fill(objDataTable) 

        Try 

            If (objDataTable.Rows.Count > 0) Then 
                ' Add the table to the dataset 
                objDataSet.Tables.Add(objDataTable) 
            End If 

            ' Write the table contents into XML file 
            objDataSet.WriteXml("D:\TestXML.xml", XmlWriteMode.WriteSchema) 

            If (File.Exists("D:\TestXML.xml")) Then 

                Dim doc As New XmlDocument 
                Dim elem As XmlElement 
                Dim testNode As XmlNodeList 
                Dim singNode As XmlNode 
                Dim element As XmlElement 
                Dim intNodeVtrCnt As Integer = 0 
                Dim intRowCnt As Integer = 0 
                Dim intColCnt As Integer 

                For intRowCnt = 0 To objDataTable.Rows.Count - 1 
                    For intColCnt = 0 To objDataTable.Columns.Count - 1 
                        If IsDBNull(objDataTable.Rows(intRowCnt)(intColCnt)) Then 

                            ' Loading file into XMLDOM object 
                            doc.Load("D:\TestXML.xml") 

                            testNode = doc.SelectNodes("NewDataSet/VTR") 
                            singNode = doc.SelectSingleNode("NewDataSet/VTR") 
                            elem = doc.CreateElement(objDataTable.Columns(intColCnt).ColumnName()) 
                            elem.InnerText = "" 
                            singNode = testNode(intRowCnt).AppendChild((elem)) 
                            doc.Save("D:\TestXML.xml") 

                        End If 
                    Next 
                Next 
            End If 
        Catch ex As Exception 
            MsgBox(ex.Message) 
        End Try 
    End Sub 
End Class