Project code:
VB.NET:
Structure USERINFO
Dim FIRST As String
Dim MI As String
Dim LAST As String
Dim TITLE As String
Dim UNIT As String
Dim RANK As String
End Structure
Dim USER As USERINFO
Dim USERDATA As New ArrayList
Dim strUDPath As String = "..\UserData.xml"
Private Sub Frm_Utilities_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
If UserDataLoaded() Then
Me.lblName.Text = USER.FIRST & " " & USER.MI & " " & USER.LAST
Me.lblRank.Text = USER.RANK
Me.lblTitle.Text = USER.TITLE
Me.lblUnit.Text = USER.UNIT
Else
Me.Close()
End If
End Sub
Private Function UserDataLoaded() As Boolean
Dim UDReader As New XmlTextReader(strUDPath)
UDReader.WhitespaceHandling = WhitespaceHandling.None
Try
Do Until UDReader.Name = "USER"
UDReader.Read()
Loop
Do While UDReader.Name = "USER"
UDReader.ReadStartElement("FIRST")
USER.FIRST = UDReader.ReadElementString("FIRST")
USER.MI = UDReader.ReadElementString("MI")
USER.LAST = UDReader.ReadElementString("LAST")
USER.RANK = UDReader.ReadElementString("RANK")
USER.TITLE = UDReader.ReadElementString("TITLE")
USER.UNIT = UDReader.ReadElementString("UNIT")
UDReader.ReadEndElement()
USERDATA.Add(USER)
Loop
UDReader.Close()
Catch exml As XmlException
MessageBox.Show("There is an error in the XML file.", "XML Error")
Return False
End Try
Return True
End Function
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
Panel2.Visible = True
End Sub
Private Sub btnAccept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAccept.Click
Me.lblName.Text = USER.FIRST & " " & USER.MI & " " & USER.LAST
Me.lblRank.Text = USER.RANK
Me.lblTitle.Text = USER.TITLE
Me.lblUnit.Text = USER.UNIT
Me.Panel2.Visible = False
USER.FIRST = Me.tbFirst.Text
USER.MI = Me.tbMI.Text
USER.LAST = Me.tbLast.Text
USER.RANK = Me.tbRank.Text
USER.TITLE = Me.tbTitle.Text
USER.UNIT = Me.tbUnit.Text
SaveUser()
End Sub
Private Sub SaveUser()
Dim UserDataWriter As New XmlTextWriter(strUDPath, Nothing)
UserDataWriter.Formatting = Formatting.Indented
UserDataWriter.WriteStartDocument()
UserDataWriter.WriteStartElement("USER")
For Each USER In USERDATA
UserDataWriter.WriteStartElement("USER")
UserDataWriter.WriteAttributeString("FIRST", USER.FIRST)
UserDataWriter.WriteAttributeString("MI", USER.MI)
UserDataWriter.WriteAttributeString("LAST", USER.LAST)
UserDataWriter.WriteAttributeString("RANK", USER.RANK)
UserDataWriter.WriteAttributeString("TITLE", USER.RANK)
UserDataWriter.WriteAttributeString("UNIT", USER.UNIT)
UserDataWriter.WriteEndElement()
Next
UserDataWriter.WriteEndElement()
UserDataWriter.Close()
End Sub
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
Me.Close()
End Sub
XML CODE
HTML:
<?xml version="1.0" encoding="utf-8" ?>
<!--UserData-->
<USERS>
<USER>
<FIRST>GLENN</FIRST>
<MI>S.</MI>
<LAST>WILLIAMS</LAST>
<RANK>SSG</RANK>
<TITLE>PSG</TITLE>
<UNIT>A</UNIT>
</USER>
</USERS>
Last edited by a moderator: