รู้จัก XML เบื้องต้น(มากๆ)
อัปเดท : 8 กรกฎาคม พ.ศ.2547 , แสดง : 71,085 , ความคิดเห็น : 8
โลกของเทคโนโลยีมีแพลตฟอร์มมากมาย หลากหลายภาษา แต่ละภาษาก็จะคุยกันด้วยสำนวนของมันเอง ในงานที่ต้องใช้แพลตฟอร์มหลากหลาย จะมีปัญหาก็คือมันจะทำงานร่วมกันอย่างไร? จะส่งข้อมูลอย่างไร ? เช่นถ้าจะเขียน ASP.net ให้คุยกับ JSP(Java) หรือภาษาอื่น ๆ ต้องทำอย่างไร ? XML จึงเกิดขึ้นมาเพื่อแก้ปัญหานี้ มันจะทำหน้าที่เป็นตัวกลางเก็บข้อมูล โดยที่ ASP.net , JSP(Java) หรือภาษาอื่นๆ ต้องสามารถเข้าใจภาษา XML เป็นมาตรฐานอยู่แล้ว
ขอยกตัวอย่างให้เห็นชัด ๆ ASP.net ต้องการแลกเปลี่ยนข้อมูลกับ JSP เราก็เขียน ASP.net ให้สร้างไฟล์ XML พร้อมทั้งใส่โครงสร้างและข้อมูลตามที่เราต้องการ จากนั้นเราก็เขียน JSP ให้มาอ่านไฟล์ XML นั้นๆแค่นี้ ASP.net ก็แลกเปลี่ยนข้อมูลกับ JSP ได้แล้ว
XML คืออะไร ? : เริ่มกันที่ว่า XML ย่อมาจาก Extensible Markup Language เป็นภาษาหนึ่งที่ใช้ในการแสดงผลข้อมูล ถ้าเปรียบเทียบกับภาษา HTML จะแตกต่างกันที่ HTML ถูกออกแบบมาเพื่อการแสดงผลอย่างเดียวเท่านั้น เช่นให้แสดงผลตัวเล็ก ตัวหนา ตัวเอียง เหมือนที่คุณเคยเห็นในเวบเพจทั้วไป แต่ภาษา XML นั้นถูกออกแบบมาเพื่อเก็บข้อมูล โดยทั้งข้อมูลและโครงสร้างของข้อมูลนั้นๆไว้ด้วยกัน ส่วนการแสดงผลก็จะใช้ภาษาเฉพาะซึ่งก็คือ XSL (Extensible Stylesheet Language)
โครงสร้างของภาษา XML เป็นอย่างไร ?
ภาษา XML มีโครงสร้างที่ประกอบด้วยแท็ก(Tag)เปิด และแท็กปิด เช่นเดียวกับภาษา HTML แต่ภาษา XML คุณสามารถสร้างแท็กรวมทั้งกำหนดโครงสร้างของข้อมูลได้เอง ซึ่งความสามารถตรงนี้ตัวภาษา HTML ทำไม่ได้เพราะภาษา HTML ถูกกำหนดแท็กตายตัวโดย W3C
ตัวอย่างที่ 1 XML แท็ก(Tag) ที่บอกโครงสร้างและข้อมูลของบุคคล |
<?xml version="1.0" encoding="windows-874"?> <address_book> <person Gender="M"> <name>Jane Doe</name> <address> <street>123 Main St.</street> <city>San Francisco</city> <state>CA</state> <zip>94117</zip> </address> <phone>555-1212</phone> </person> </address_book> |
ตัวอย่างที่ 2 |
<?xmlversion="1.0"encoding="windows-874"?> <callme> <my_mobile>0-1307-8072</my_mobile> <my_phone>0-2872-8936</my_phone> </callme> |
จากตัวอย่างที่ 2 ตรงบรรทัดแรก เป็นการประกาศว่าเอกสารนี้เป็นไฟล์ XML นี้มีการเข้ารหัสอักขระแบบ windows-874 เพื่อปลายทางจะได้เข้าใจและถอดรหัสได้ถูกต้อง จากตัวอย่างจะเห็นว่า จริงๆแล้วในภาษา XML จะแบ่ง โครงสร้างเป็น 2 ส่วนใหญ่ ๆ คือ tag และ element
ตัวอย่างที่ 3 แสดงโครงสร้างของ tag และ element |
<root> <element> <tag></tag> </element> </root> |
ลงรายละเอียดอีกนิดกับ Tag กับ Element
Tag สำหรับใน XML แล้วแท็กมีความหมายในลักษณะเดียวกับที่ใช้ใน HTML tag คือข้อความที่อยู่ระหว่างสัญลักษณ์ "<" และ ">" มี 2 แบบคือ
- แท็กเปิด (Start tag) เช่น
- แท็กปิด (End Tag) เช่น สังเกตุได้ว่าแท็กปิดเครื่องหมาย / อยู่หลังสัญลักษณ์ "<"
จากตัวอย่างที่ 2 Tag คือ
Element คือโครงสร้างหลักของ XML ซึ่งอยู่ในรูปของแท็กจะมีลักษณะซ้อนกันเป็นชั้นๆโดย element เริ่มต้นที่แท็กเปิดและสิ้นสุดที่แท็กปิดในแท็กดียวกัน และ Root element จะเป็น element บนสุดของไฟล์ XML
จากตัวอย่างที่ 2 Element คือ
Content ข้อมูลที่เก็บ เช่นจากตัวอย่างที่ 2 ใน Element
Attribute คือข้อมูลความหมายเพิ่มเติมเป็นค่าคงที่ ถูกเขียนอยู่ภายใน tag เปิด <....> จะมีมากกว่า 1 , มี 1 อันหรือไม่มีเลยก็ได้ จากตัวอย่างที่ 1 ก็คือ
การประยุกต์ใช้งาน XML
ยกตัวอย่างบทความการประยุกต์ใช้ XML ที่ผมเคยเขียนไว้ คือ ดึงข่าวจาก Thaisarn.com ด้วย ASP.net(VB) ซึ่งทาง ThaiSarn.com ได้สร้างเอกสาร XML ด้วย ภาษา PHP และผมก็ใช้ ภาษา ASP.net เพื่อนำเอกสาร XML มาใช้และควบคุมการแสดงผลด้วย XSL
คุณสามารถหาอ่านรายละเอียดเพิ่มเติมได้ที่เจ้าของมาตรฐาน XML >> http://www.w3.org/XML
และแล้วก็จบ XML เบื้องต้น
ผู้เขียน/อ้างอิง : จักรกฤษณ์ แร่ทอง
เวบ/อินเตอร์เน็ตเทคโนโลยี
ท่ามกลางความอบอ้าวของตลาดนัดจตุจักร ชายหนุ่มหลุดจากความเบียดเสียดของคนที่เดิน...
โปรแกรมใหม่นี้ได้เริ่มมี อาการแปลกๆ รวมถึงกินพื้นที่และทรัพยากรอันมีค่าเป็นอันมาก และอาการที่เกิดขึ้นนี้ไม่มีการกล่าวถึง
เมื่อเครื่องของเรามีปัญหา เช่น Boot ไม่ขึ้น หรือ Boot แล้วเข้าสู่วินโดวส์ได้แล้ว แต่ทำงานผิดปกติไป
กฎ 24 ข้อในการเขียนซีจีไอสคริปต์ให้มีความปลอดภัย โปรแกรมสำหรับขายสินค้าบนเว็บ โปรแกรมสำหรับสนทนาบนเว็บ โปรแกรมเว็บบอร์ด
การทำให้ข้อมูลเป็นความลับ (Confidentiality) เพื่อป้องกันไม่ให้ผู้ที่ไม่มีสิทธิ์ในการเข้าถึงข้อมูลสามารถเข้าถึงข้อมูลได้
เบื้องลึกของ ตัวอักษรภาษาไทย, ตัวอักษรภาษาญี่ปุ่น และภาษาอื่นๆ
concept เดียวกัน ชื่อต่างกันเพราะ ค่ายต่างกันแค่นั้นเหรอ..
เมื่อ เว็บเซอร์ฟเวอร์ เกิดหลงๆลืมเหมือนคนแก่
แนวโน้มของเวบไซต์และเทคโนโลยีอนาคตเมื่ออินเตอร์เน็ตความเร็วสูงขึ้น
เบื้องลึกเบื้องหลัง หลักการทำงาน ของระบบอีเมลล์
ความคิดเห็น/แนะนำ/ติชม/อื่นๆ
- jeab [23 Jun 2005 , 09:17 AM]
คืออยากทราบว่าภาษา XML มันคือะไรนะคะและจากที่อ่านบทความจากหลาย ๆ แห่งมา ดิฉันเลยสรุปเอาเองว่าภาษา XML ก็คือภาษาที่สามารถใช้รับส่งข้อมูลจากอีกฝั่งมายังอีกฝั่งหนึ่งได้โดยอาจจะพัฒนาด้วย ASP , PHP หรือ Javascript ก็ได้ไม่ทราบว่าดิฉันเข้าใจถูกไหมคะ กรุณาตอบให้ดิฉันเข้าใจอย่างถูกต้องด้วยคะ ขอขอบคุณล่วงหน้านะคะ
- จักรกฤษณ์ [11 Jul 2005 , 01:23 PM]
ตามที่คุณ jeab ก็ถูกแล้วน่ะครับ XML เหมือนภาษาสากลที่ทุกค่ายใช้กัน ถ้าเปรียบเทียบก็เช่น ภาษาอังกฤษ สมมุติว่าคนไทยไม่สามารถพูดกับคนจีน ได้ตรงๆ ได้ แต่คนไทยพูดภาษาอังกฤษได้ และ คนจีนก็พูดภาษาอังกฤษได้ ก็ใช้ภาษาอังกฤษเป็นภาษากลางซ่ะ เป็นต้น..
- jsp [03 เม.ย. 2549 , 01:49 PM]
สอบถามเกี่ยวกับ xml file ที่สร้างด้วย jsp ครับผม ไม่ทราบว่าหาดูตัวอย่างได้ที่ไหนครับผม
- น้ำ [25 เม.ย. 2552 , 10:46 AM]
ขอบคุณสำหรับเนื้อหานี้มากมายค่ะ
- Oat [05 พ.ค. 2552 , 10:49 AM]
อยากทราบว่าระหว่างภาษา Xml , Java , PHP, ASP ภาษาไหนจะเหมาะสำหรับนักเขียนโปรแกรมฝึกหัดค่ะ
- phorn [07 เม.ย. 2554 , 12:26 PM]
อยากดึงข้อมูลแต่ละelementจะทำยังไงไปเก็บไว้ในตัวแปรเพื่อเล่นกับข้อมูลจะทำยังงัยครับ
- pan [04 ธ.ค. 2555 , 06:05 PM]
ให้ความรู้ ความเข้าใจได้ดีมากๆเลยคะ
- Gablablift [05 มี.ค. 2556 , 04:31 PM]
www.w3school.com