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文件中读取设置的代码如下:
''' <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