|
แก้ไขครั้งสุดท้ายโดย mozza เมื่อ 2021-6-18 15:20
- XML คืออะไร อ่านเพิ่มเติมได้ที่นี่ XML
ในที่นี้ผมจะยกตัวอย่าง XML ที่โครงสร้างแบบง่าย ๆ โดยมีองค์ประกอบ ดังนี้
1.Elememt คือ "กลุ่มข้อมูล"
2.Content คือ "ค่าตัวแปร"
3.Value คือ "ข้อมูล"
แต่จะขอเปลี่ยนรูปแบบการจัดการข้อมูลจาก INI เป็น XML แทนครับ
- คลาส XML อยู่ใน (clsXML.vb)
- Public Class clsXML
- Public Shared Function ReadXML(ByVal filePath As String, ByVal RootEle As String, ByVal Content As String) As String
- Try
- Dim xd As New System.Xml.XmlDocument()
- xd.Load(filePath)
- Dim Node As System.Xml.XmlNode = xd.DocumentElement.SelectSingleNode( _
- "/" & RootEle & "/" & Content)
- If Not Node Is Nothing Then
- Return Node.Attributes.GetNamedItem("value").Value
- Else
- Return ""
- End If
- Catch ex As Exception
- Return ""
- End Try
- End Function
- Public Shared Function WriteXML(ByVal filePath As String, ByVal RootEle As String, ByVal Content As String, ByVal NewValue As String) As Boolean
- Try
- Dim xd As New System.Xml.XmlDocument()
- 'load the xml file
- xd.Load(filePath)
- 'save value
- Dim Node As System.Xml.XmlElement = CType(xd.DocumentElement.SelectSingleNode( _
- "/" & RootEle & "/" & Content), System.Xml.XmlElement)
- If Not Node Is Nothing Then
- 'key found, set the value
- Node.Attributes.GetNamedItem("value").Value = NewValue
- xd.Save(filePath)
- Return True
- Else
- Return False
- End If
- Catch ex As Exception
- Return False
- End Try
- End Function
- End Class
คัดลอกไปที่คลิปบอร์ด- ฟอร์มหลัก (frmSetting.vb)
- ' / --------------------------------------------------------------------
- ' / Developer : Mr.Surapon Yodsanga (Thongkorn Tubtimkrob)
- ' / eMail : thongkorn@hotmail.com
- ' / URL: http://www.g2gnet.com (Khon Kaen - Thailand)
- ' / Facebook: https://www.facebook.com/g2gnet (For Thailand)
- ' / Facebook: https://www.facebook.com/commonindy (Worldwide)
- ' / Purpose: Sample to use Initialize file with API. (Setting up information)
- ' / Microsoft Visual Basic .NET (2010)
- ' /
- ' / This is open source code under @CopyLeft by Thongkorn Tubtimkrob.
- ' / You can modify and/or distribute without to inform the developer.
- ' / --------------------------------------------------------------------
- Imports XMLData.clsXML
- Public Class frmSetting
- Dim strFileXML As String
- ' / --------------------------------------------------------------------
- Private Sub frmSetting_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- strFileXML = Application.StartupPath & "\Config.xml"
- '// เช็คว่ามีไฟล์ Config.xml อยู่หรือไม่???
- If My.Computer.FileSystem.FileExists(strFileXML) Then
- txtOwner.Text = ReadXML(strFileXML, "Config", "Owner")
- txtAddress.Text = ReadXML(strFileXML, "Config", "Address")
- txtHeader.Text = ReadXML(strFileXML, "Config", "Header")
- txtRemark1.Text = ReadXML(strFileXML, "Config", "Remark1")
- txtRemark2.Text = ReadXML(strFileXML, "Config", "Remark2")
- '// กรณีไม่เจอ ให้เริ่มต้นค่าใหม่
- Else
- txtOwner.Text = "ทองก้อน ฮาเร็ม อพาร์ทเมนท์"
- txtAddress.Text = "123/456 ถ.กลางเมือง ต.เมืองเก่า อ.เมือง จ.ขอนแก่น โทร.043-XXX-XXX"
- txtHeader.Text = "- ใบแจ้งค่าใช้จ่าย -"
- txtRemark1.Text = "[1] กรุณาชำระเงินภายในวันที่ 32 ของทุกเดือน"
- txtRemark2.Text = "[2] การเงินมีปัญหา ใส่ชุดนักศึกษามาหาป๋าทองก้อนได้ตลอด 24 ชั่วโมง"
- End If
- End Sub
- Private Sub txtElectricRate_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtHeader.KeyPress
- e.Handled = CheckDigitOnly(Asc(e.KeyChar))
- End Sub
- ' / --------------------------------------------------------------------
- '// บันทึกไฟล์ XML
- Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click
- WriteXML(strFileXML, "Config", "Owner", txtOwner.Text)
- WriteXML(strFileXML, "Config", "Address", txtAddress.Text)
- WriteXML(strFileXML, "Config", "Header", txtHeader.Text)
- WriteXML(strFileXML, "Config", "Remark1", txtRemark1.Text)
- WriteXML(strFileXML, "Config", "Remark2", txtRemark2.Text)
- '//
- MessageBox.Show("บันทึกการตั้งค่าระบบเรียบร้อย.", "รายงานสถานะ", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Me.Close()
- End Sub
- Private Sub btnExit_Click(sender As System.Object, e As System.EventArgs) Handles btnExit.Click
- Me.Close()
- End Sub
- Private Sub frmSetting_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
- Me.Dispose()
- End Sub
- End Class
คัดลอกไปที่คลิปบอร์ด
- ไฟล์ข้อมูลคือ Config.XML อยู่ในพาร์ทเดียวกับไฟล์รันโปรแกรมครับ
- ดาวน์โหลดโปรแกรมต้นฉบับ VB.NET (2010) ได้ที่นี่
|
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน
x
|