ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 1157|ตอบกลับ: 0

[VB.NET] การประยุกต์ใช้งานไฟล์ XML (Extensible Markup Language) แบบพื้นฐาน

[คัดลอกลิงก์]

4

กระทู้

15

โพสต์

249

เครดิต

Full Member

Rank: 3Rank: 3

เครดิต
249

แก้ไขครั้งสุดท้ายโดย mozza เมื่อ 2021-6-18 15:20

  • XML คืออะไร อ่านเพิ่มเติมได้ที่นี่ XML
        ในที่นี้ผมจะยกตัวอย่าง XML ที่โครงสร้างแบบง่าย ๆ  โดยมีองค์ประกอบ ดังนี้

        1.Elememt คือ "กลุ่มข้อมูล"
        2.Content  คือ "ค่าตัวแปร"
        3.Value      คือ "ข้อมูล"
      
       แต่จะขอเปลี่ยนรูปแบบการจัดการข้อมูลจาก INI เป็น XML แทนครับ

  • คลาส XML อยู่ใน (clsXML.vb)
  1. Public Class clsXML
  2.     Public Shared Function ReadXML(ByVal filePath As String, ByVal RootEle As String, ByVal Content As String) As String
  3.         Try
  4.             Dim xd As New System.Xml.XmlDocument()
  5.             xd.Load(filePath)
  6.             Dim Node As System.Xml.XmlNode = xd.DocumentElement.SelectSingleNode( _
  7.                                       "/" & RootEle & "/" & Content)
  8.             If Not Node Is Nothing Then
  9.                 Return Node.Attributes.GetNamedItem("value").Value
  10.             Else
  11.                 Return ""
  12.             End If
  13.         Catch ex As Exception
  14.             Return ""
  15.         End Try
  16.     End Function
  17.     Public Shared Function WriteXML(ByVal filePath As String, ByVal RootEle As String, ByVal Content As String, ByVal NewValue As String) As Boolean
  18.         Try
  19.             Dim xd As New System.Xml.XmlDocument()
  20.             'load the xml file
  21.             xd.Load(filePath)
  22.             'save value
  23.             Dim Node As System.Xml.XmlElement = CType(xd.DocumentElement.SelectSingleNode( _
  24.                                            "/" & RootEle & "/" & Content), System.Xml.XmlElement)
  25.             If Not Node Is Nothing Then
  26.                 'key found, set the value
  27.                 Node.Attributes.GetNamedItem("value").Value = NewValue
  28.                 xd.Save(filePath)
  29.                 Return True
  30.             Else
  31.                 Return False
  32.             End If
  33.         Catch ex As Exception
  34.             Return False
  35.         End Try
  36.     End Function
  37. End Class
คัดลอกไปที่คลิปบอร์ด
  • ฟอร์มหลัก (frmSetting.vb)
  1. ' / --------------------------------------------------------------------
  2. ' / Developer : Mr.Surapon Yodsanga (Thongkorn Tubtimkrob)
  3. ' / eMail : thongkorn@hotmail.com
  4. ' / URL: http://www.g2gnet.com (Khon Kaen - Thailand)
  5. ' / Facebook: https://www.facebook.com/g2gnet (For Thailand)
  6. ' / Facebook: https://www.facebook.com/commonindy (Worldwide)
  7. ' / Purpose: Sample to use Initialize file with API. (Setting up information)
  8. ' / Microsoft Visual Basic .NET (2010)
  9. ' /
  10. ' / This is open source code under @CopyLeft by Thongkorn Tubtimkrob.
  11. ' / You can modify and/or distribute without to inform the developer.
  12. ' / --------------------------------------------------------------------
  13. Imports XMLData.clsXML
  14. Public Class frmSetting
  15.     Dim strFileXML As String
  16.     ' / --------------------------------------------------------------------
  17.     Private Sub frmSetting_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  18.         strFileXML = Application.StartupPath & "\Config.xml"
  19.         '// เช็คว่ามีไฟล์ Config.xml อยู่หรือไม่???
  20.         If My.Computer.FileSystem.FileExists(strFileXML) Then
  21.             txtOwner.Text = ReadXML(strFileXML, "Config", "Owner")
  22.             txtAddress.Text = ReadXML(strFileXML, "Config", "Address")
  23.             txtHeader.Text = ReadXML(strFileXML, "Config", "Header")
  24.             txtRemark1.Text = ReadXML(strFileXML, "Config", "Remark1")
  25.             txtRemark2.Text = ReadXML(strFileXML, "Config", "Remark2")
  26.             '// กรณีไม่เจอ ให้เริ่มต้นค่าใหม่
  27.         Else
  28.             txtOwner.Text = "ทองก้อน ฮาเร็ม อพาร์ทเมนท์"
  29.             txtAddress.Text = "123/456 ถ.กลางเมือง ต.เมืองเก่า อ.เมือง จ.ขอนแก่น โทร.043-XXX-XXX"
  30.             txtHeader.Text = "- ใบแจ้งค่าใช้จ่าย -"
  31.             txtRemark1.Text = "[1] กรุณาชำระเงินภายในวันที่ 32 ของทุกเดือน"
  32.             txtRemark2.Text = "[2] การเงินมีปัญหา ใส่ชุดนักศึกษามาหาป๋าทองก้อนได้ตลอด 24 ชั่วโมง"
  33.         End If
  34.     End Sub

  35.     Private Sub txtElectricRate_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtHeader.KeyPress
  36.         e.Handled = CheckDigitOnly(Asc(e.KeyChar))
  37.     End Sub

  38.     ' / --------------------------------------------------------------------
  39.     '// บันทึกไฟล์ XML
  40.     Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click
  41.         WriteXML(strFileXML, "Config", "Owner", txtOwner.Text)
  42.         WriteXML(strFileXML, "Config", "Address", txtAddress.Text)
  43.         WriteXML(strFileXML, "Config", "Header", txtHeader.Text)
  44.         WriteXML(strFileXML, "Config", "Remark1", txtRemark1.Text)
  45.         WriteXML(strFileXML, "Config", "Remark2", txtRemark2.Text)
  46.         '//
  47.         MessageBox.Show("บันทึกการตั้งค่าระบบเรียบร้อย.", "รายงานสถานะ", MessageBoxButtons.OK, MessageBoxIcon.Information)
  48.         Me.Close()
  49.     End Sub

  50.     Private Sub btnExit_Click(sender As System.Object, e As System.EventArgs) Handles btnExit.Click
  51.         Me.Close()
  52.     End Sub

  53.     Private Sub frmSetting_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
  54.         Me.Dispose()
  55.     End Sub

  56. End Class
คัดลอกไปที่คลิปบอร์ด


  • ไฟล์ข้อมูลคือ Config.XML อยู่ในพาร์ทเดียวกับไฟล์รันโปรแกรมครับ

  • ดาวน์โหลดโปรแกรมต้นฉบับ VB.NET (2010) ได้ที่นี่
      

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

x
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2024-4-16 19:02 , Processed in 0.239409 second(s), 4 queries , File On.

Powered by Discuz! X3.4, Rev.62

Copyright © 2001-2020 Tencent Cloud.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้