
' '' <summary>

' '' 建立XML檔案

' '' </summary>

' '' <param name="xmlFileName">要建立的XML檔案名</param>

' '' <remarks></remarks>
Private Sub createXML() Sub createXML(ByVal xmlFileName As String)
Try
Dim writer As New Xml.XmlTextWriter(Application.StartupPath & "" & xmlFileName, System.Text.Encoding.GetEncoding("utf-8"))
'使用自動縮進便于閱讀
writer.Formatting = Xml.Formatting.Indented
writer.WriteRaw("<?xml version=""1.0"" encoding=""utf-8"" ?>")
'書寫根元素()
writer.WriteStartElement("Config")
'添加次級元素
writer.WriteStartElement("DatabaseSetting")
'添加子元素()
writer.WriteElementString("DataSource", Me.cmbHostName.SelectedItem.ToString.Trim)
'為Datasource添加一個屬性為value,值為test 的屬性
'writer.WriteAttributeString("value","test")
writer.WriteElementString("InitialCatalog", Me.cmbDatabaseName.SelectedItem.ToString.Trim)
writer.WriteElementString("UserID", Me.txtUserName.Text.Trim)
writer.WriteElementString("Password", Me.txtPassword.Text.Trim)
'關閉次級元素DatabaseSetting
writer.WriteEndElement()
'添加次級元素StationSetting
writer.WriteStartElement("StationSetting")
'添加子元素
writer.WriteElementString("StoreID", Me.cmbStoreID.SelectedItem.ToString.Trim)
writer.WriteElementString("StationID", Me.cmbStationID.SelectedItem.ToString.Trim)
'關閉次級元素StationSetting
writer.WriteEndElement()
'關閉根元素
writer.WriteFullEndElement()
'将XML寫入檔案并關閉writer
writer.Close()
Catch ex As Exception
MsgBox(ex.Message & vbCrLf & ex.StackTrace)
End Try
End Sub

' '' <summary>

' '' 修改XML

' '' </summary>

' '' <param name="xmlFileName">要修改的XML檔案名</param>

' '' <param name="rootName">XML檔案中的根元素名稱</param>

' '' <param name="elementNameArry">要修改的元素數組</param>

' '' <param name="innerTextArry">對應于要修改的元素數組的修改文本數組</param>

' '' <remarks></remarks>
Public Sub modifXML() Sub modifXML(ByVal xmlFileName As String, ByVal rootName As String, ByVal elementNameArry() As String, ByVal innerTextArry() As String)
If My.Computer.FileSystem.FileExists(Application.StartupPath.Trim & "" & xmlFileName) Then
Dim doc As New Xml.XmlDocument
doc.Load(Application.StartupPath.Trim & "" & xmlFileName)
Dim list As Xml.XmlNodeList = doc.SelectSingleNode(rootName).ChildNodes
For Each xn As Xml.XmlNode In list
Dim xe As Xml.XmlElement
xe = xn
Dim nls As Xml.XmlNodeList = xe.ChildNodes
For Each xn1 As Xml.XmlNode In nls
Dim xe2 As Xml.XmlElement
xe2 = xn1
For i As Integer = 0 To elementNameArry.Length - 1
If xe2.Name = elementNameArry(i) Then
xe2.InnerText = innerTextArry(i)
End If
Next
Next
Next
doc.Save(Application.StartupPath.Trim & "" & xmlFileName)
End If
End Sub

' '' <summary>

' '' 讀取XML檔案

' '' </summary>

' '' <param name="xmlFileName">要讀取的XML檔案名</param>

' '' <remarks></remarks>
Private Sub readXMl() Sub readXMl(ByVal xmlFileName As String)
Try
If My.Computer.FileSystem.FileExists(Application.StartupPath & "" & xmlFileName) Then
Dim doc As New Xml.XmlDocument
doc.Load(Application.StartupPath.Trim & "" & xmlFileName)
Dim re As Xml.XmlNodeReader = New Xml.XmlNodeReader(doc)
Dim tmpStr As String = ""
Dim name As String
While re.Read
Select Case re.NodeType
Case Xml.XmlNodeType.Element
name = re.Name
Case Xml.XmlNodeType.Text
If name.Equals("DataSource") Then
tmpStr = tmpStr & "Data Source=" & re.Value
End If
If name.Equals("InitialCatalog") Then
tmpStr = tmpStr & ";Initial Catalog=" & re.Value
End If
If name.Equals("UserID") Then
tmpStr = tmpStr & ";User ID=" & re.Value
End If
If name.Equals("Password") Then
tmpStr = tmpStr & ";Password=" & re.Value
End If
End Select
End While
End If
Catch ex As Exception
MsgBox(ex.Message & vbCrLf & ex.StackTrace)
End Try
End Sub