您的位置:首页 > 编程语言 > VB

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

2016-01-27 15:08 471 查看

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

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: