VB.Net 保存和读取设置文件(XML格式)

VB.Net 保存设置到XML文件代码如下:

''' <summary>
    ''' 保存设置
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub SaveSetting()
        'Save Settings
        Dim FPath As String = Application.StartupPath & IIf(Strings.Right(Application.StartupPath, 1) = "\", "Setting.xml", "\Setting.xml")

        Try
            If File.Exists(FPath) = True Then File.Delete(FPath)
            Dim XWriter As New Xml.XmlTextWriter(FPath, System.Text.Encoding.GetEncoding("UTF-8"))

            XWriter.Formatting = Xml.Formatting.Indented
            XWriter.WriteRaw("<?xml version=""1.0"" encoding=""utf-8"" ?>")

            XWriter.WriteStartElement("Settings")
            XWriter.WriteElementString("TimeSP", TimeSP)
            XWriter.WriteElementString("StartTime", StartTime.ToString("yyyy/MM/dd HH:mm:ss"))
            XWriter.WriteElementString("ShowTip", ShowTip)
            XWriter.WriteElementString("CreateExcel", CreateExcel)
            XWriter.WriteElementString("SourceServerName", SDB.ServerName)
            XWriter.WriteElementString("SourceDBName", SDB.DBName)
            XWriter.WriteElementString("SourceLoginUser", SDB.LoginUser)
            XWriter.WriteElementString("SourcePWD", SDB.LoginPWD)
            XWriter.WriteElementString("TargetServerName", TDB.ServerName)
            XWriter.WriteElementString("TargetDBName", TDB.DBName)
            XWriter.WriteElementString("TargetLoginUser", TDB.LoginUser)
            XWriter.WriteElementString("TargetPWD", TDB.LoginPWD)
            XWriter.WriteElementString("ExcelPath", ExcelPath)
            XWriter.WriteEndElement()

            XWriter.Close()
        Catch ex As Exception
            MsgBox("保存失败!" & vbCrLf & "原因: " & ex.Message, MsgBoxStyle.Information, "提示")
        End Try

        'Save Table Name List
        FPath = Application.StartupPath & IIf(Strings.Right(Application.StartupPath, 1) = "\", "DataTableList.xml", "\DataTableList.xml")

        Try
            If File.Exists(FPath) = True Then File.Delete(FPath)
            Dim XWriter As New Xml.XmlTextWriter(FPath, System.Text.Encoding.GetEncoding("UTF-8"))

            XWriter.Formatting = Xml.Formatting.Indented
            XWriter.WriteRaw("<?xml version=""1.0"" encoding=""utf-8"" ?>")

            XWriter.WriteStartElement("DataTableNameList")
            For i As Integer = 1 To TBList.Count
                XWriter.WriteElementString("DataTableName", TBList(i).ToString)
            Next
            XWriter.WriteEndElement()

            XWriter.Close()
        Catch ex As Exception
            MsgBox("保存失败!" & vbCrLf & "原因: " & ex.Message, MsgBoxStyle.Information, "提示")
        End Try
    End Sub
 

从XML文件中读取设置的vb.net教程代码如下:

''' <summary>
    ''' 加载设置
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub LoadSetting()
        'Load Settings
        Dim FPath As String = Application.StartupPath & IIf(Strings.Right(Application.StartupPath, 1) = "\", "Setting.xml", "\Setting.xml")
        Dim txtReader As StreamReader = Nothing

        If File.Exists(FPath) = True Then
            Try
                Dim XDoc As New Xml.XmlDocument
                XDoc.Load(FPath)

                Dim XReader As New Xml.XmlNodeReader(XDoc)
                Dim ParaName As String = ""

                While XReader.Read
                    Select Case XReader.NodeType
                        Case Xml.XmlNodeType.Element
                            ParaName = XReader.Name
                        Case Xml.XmlNodeType.Text
                            Select Case ParaName
                                Case "TimeSP" : TimeSP = XReader.Value
                                Case "StartTime" : StartTime = CDate(XReader.Value)
                                Case "ShowTip" : ShowTip = XReader.Value
                                Case "CreateExcel" : CreateExcel = XReader.Value
                                Case "SourceServerName" : SDB.ServerName = XReader.Value
                                Case "SourceDBName" : SDB.DBName = XReader.Value
                                Case "SourceLoginUser" : SDB.LoginUser = XReader.Value
                                Case "SourcePWD" : SDB.LoginPWD = XReader.Value
                                Case "TargetServerName" : TDB.ServerName = XReader.Value
                                Case "TargetDBName" : TDB.DBName = XReader.Value
                                Case "TargetLoginUser" : TDB.LoginUser = XReader.Value
                                Case "TargetPWD" : TDB.LoginPWD = XReader.Value
                                Case "ExcelPath" : ExcelPath = XReader.Value
                            End Select
                    End Select
                End While
            Catch ex As Exception
                TimeSP = 30
                StartTime = Now
                ShowTip = True
                CreateExcel = True
                SDB.ServerName = ""
                SDB.DBName = ""
                SDB.LoginUser = ""
                SDB.LoginPWD = ""
                TDB.ServerName = ""
                TDB.DBName = ""
                TDB.LoginUser = ""
                TDB.LoginPWD = ""

                If txtReader IsNot Nothing Then txtReader.Close()
                File.Delete(FPath)
            End Try
        End If

        'Load Table Name List
        FPath = Application.StartupPath & IIf(Strings.Right(Application.StartupPath, 1) = "\", "DataTableList.xml", "\DataTableList.xml")
        txtReader = Nothing
        TBList.Clear()

        If File.Exists(FPath) = True Then
            Try
                Dim XDoc As New Xml.XmlDocument
                XDoc.Load(FPath)

                Dim XReader As New Xml.XmlNodeReader(XDoc)
                Dim ParaName As String = ""

                While XReader.Read
                    Select Case XReader.NodeType
                        Case Xml.XmlNodeType.Element
                            ParaName = XReader.Name
                        Case Xml.XmlNodeType.Text
                            Select Case ParaName
                                Case "DataTableName" : TBList.Add(XReader.Value.ToString.Trim)
                            End Select
                    End Select
                End While
            Catch ex As Exception
                TBList.Clear()

                If txtReader IsNot Nothing Then txtReader.Close()
                File.Delete(FPath)
            End Try
        End If
    End Sub
 
上一篇:VB数值从小到大排序


下一篇:wincc控件使用问题(一)