PlusMagi's Blog By Pitt Phunsanit Programming XML ( eXtensible Markup Language )

XML ( eXtensible Markup Language )

XML ( eXtensible Markup Language ) เปรียบเสมือน “ภาษากลาง” ที่ถูกออกแบบมาเพื่อใช้ในการจัดเก็บและขนส่งข้อมูล โดยเน้นความง่ายในการอ่านทั้งสำหรับมนุษย์และคอมพิวเตอร์ แม้ในปัจจุบันจะมี JSON เข้ามาแชร์ความนิยม ( เล็กกว่า, เบากว่า ) แต่ XML ยังคงเป็นรากฐานสำคัญในระบบสถาปัตยกรรมซอฟต์แวร์ระดับองค์กร


XML คืออะไร ?

XML ย่อมาจาก eXtensible Markup Language เป็นภาษาประเภทรหัสกำกับ ( Markup ) คล้ายกับ HTML แต่มีความแตกต่างที่สำคัญคือ

  • HTML: ใช้เพื่อ “แสดงผล” ข้อมูล ( เช่น ตัวหนา, หัวข้อ )
  • XML: ใช้เพื่อ “อธิบาย” ข้อมูล ( ว่าข้อมูลนี้คืออะไร )

จุดเด่นที่สุดคือ “Extensible” ( ขยายได้ ) หมายความว่าคุณสามารถกำหนด “แท็ก” ( Tag ) ขึ้นมาเองได้ตามใจชอบ ไม่ได้ถูกจำกัดเหมือน HTML


โครงสร้างของ XM

โครงสร้างของ XML จะมีลักษณะเป็นลำดับชั้น ( Hierarchy ) หรือแบบต้นไม้ ( Tree Structure ) ซึ่งต้องประกอบด้วยส่วนหลัก ๆ ดังนี้

  1. Prolog: บรรทัดแรกที่ระบุเวอร์ชันและรหัสตัวอักษร เช่น <?xml version="1.0" encoding="UTF-8"?>
  2. Root Element: เป็นแท็กหลักที่ครอบคลุมข้อมูลทั้งหมด (ต้องมีเพียงหนึ่งเดียวต่อหนึ่งไฟล์)
  3. Child Elements: แท็กย่อยที่อยู่ภายใต้ Root
  4. Attributes: คุณลักษณะเพิ่มเติมที่ใส่ไว้ในแท็กเปิด
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
 <book category="cooking">
 <title>Everyday Italian</title>
 <author>Giada De Laurentiis</author>
 <year>2005</year>
 <price>30.00</price>
 </book>
</bookstore>

ทำไมต้องใช้ XML ?

  • ความเป็นระเบียบ: ข้อมูลถูกจัดเป็นสัดส่วน ค้นหาและเข้าถึงได้ง่ายด้วยโปรแกรม ( Parsing )
  • ความเป็นอิสระ: ข้อมูลถูกแยกออกจากส่วนแสดงผล ทำให้สามารถนำข้อมูลชุดเดิมไปใช้ได้ทั้งบนเว็บ แอปมือถือ หรือส่งระหว่างเซิร์ฟเวอร์
  • มาตรฐานสากล: สนับสนุนโดย W3C และใช้งานได้กับทุกแพลตฟอร์ม

การใช้งานในปัจจุบัน

แม้ JSON จะได้รับความนิยมใน Web API ยุคใหม่ แต่ XML ยังมีบทบาทสำคัญใน

  • Configuration Files: โปรแกรมหลายตัวยังใช้ XML ในการตั้งค่า ( เช่น Android App Manifest )
  • Web Services ( SOAP ): ระบบธนาคารหรือองค์กรใหญ่ที่เน้นความปลอดภัยสูง
  • SVG: รูปภาพแบบ Vector ที่เราเห็นบนเว็บ แท้จริงแล้วก็คือไฟล์ XML รูปแบบหนึ่ง
  • Office Documents: ไฟล์ .docx หรือ .xlsx จริง ๆ คือการนำไฟล์ XML หลาย ๆ ไฟล์มาบีบอัดรวมกัน

ข้อควรระวัง: การพิมพ์ Tag ผิดเพียงตัวเดียว ( เช่น ลืมปิดแท็ก </tag> ) อาจทำให้ Service ทั้งหมดไม่ทำงานได้


อ่านเพิ่มเติม