XML Elements(อีลิเม้นต์)

ความรู้เกี่ยวกับ XML RML และ ภาษา Markup อื่นๆ

Moderator: mindphp, ผู้ดูแลกระดาน

M013
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 829
ลงทะเบียนเมื่อ: 22/04/2010 12:02 pm

XML Elements(อีลิเม้นต์)

โพสต์โดย M013 » 08/08/2013 2:25 pm

XML Elements(อีลิเม้นต์)

Element คืออะไร ?
ส่วนที่อยู่ภายในแท็กเปิดและแท็กปิด อยู่ภายใต้เอกสาร XML ซึ่ง Element สามารถเป็นได้ทั้ง Element ต่างๆ, ข้อความ, แอททริบิว

โค้ด: เลือกทั้งหมด

<student>
   <information faculty="humanities">
      <id>1420008705</id>
      <firstname>ศิริโกศล</firstname>
      <lastname>มีสุข</lastname>
      <age>21ปี</age>
      <born>11-11-1989</born>
      <phone>078-4578799</phone>
   </information>
</student>
จากตัวอย่าง Code ข้างต้นจะเห็นว่า <student> และ <information> จะมี Element Contents อยู่ภายใต้เพราะทำการครอบ Element อื่นๆ
เช่นเดียวกับ Attributes (information faculty="humanities")
ส่วน <id>, <firstname>,<lastname>,<age>,<born> และ <phone>
มี Text Content อยู่ภายใต้เพราะทำการครอบข้อมูลไว้

*Element Content = Element ย่อยๆใน elements
*Attributes = ตัวบอกคุณสมบัติ เช่น <information faculty="humanities"> โดย faculty คือชื่อของแอททริบิว ส่วน "humanities" คือค่าของแอททริบิว และค่าของแอททริบิวจะต้องอยู่ภายใต้ Double quotes เสมอ ดังกฎของ Syntax ว่าไว้ viewtopic.php?p=38654#p38654
*Text Content = ข้อความที่อยู่ภายใต้แท็ก

กฎการตั้งชื่อของ XML
1. ชื่อสามารถเป็นได้ทั้งตัวอักษร ตัวเลข เละอักขระอื่นๆ
2. ชื่อไม่สามารถขึ้นต้นด้วยตัวเลข หรือ เครื่องหมายวรรคตอน
3. ชื่อๆม่สามารถขึ้นด้วยตัวอักษร xml,XML,Xml หรืออื่นๆ
4. ชื่อไม่สามารถมีช่องว่างได้

การตั้งชื่อที่ดี
1. ตั้งชื่อให้สื่อความหมาย หากต้องการตั้งชื่อที่ต้องการเเยกคำให้ใช้เครื่องหมาย "_" เช่น <student_id>,<student_name> เป็นต้น
2. ตั้งชื่อแบบสั้นๆง่ายๆ เช่น <first_name> ไม่ใช่ <the_first_name_of_student>
3. หลีกหลี่ยงอักขระ "-" ถ้าตั้งชื่อในลักษณะนี้ <student-id> บางโปรแกรมอาจเข้าใจผิดว่าต้องการจะแยก id ออกจาก student
4. หลีกเลี่ยงอักขระ "." ถ้าตั้งชื่อในลักษณะนี้ <student.id> บางโปรแกรมอาจเข้าใจผิดว่า id คือคุณลักษณะของ student
5. หลีกเลี่ยงอักขระ ":" เพราะเครื่องหมายนี้ไว้ใช้แก้ปัญหา Namespace คือการที่ชื่อ Element ซ้ำกัน เช่น

โค้ด: เลือกทั้งหมด

<html>
   <head>
      <h:title>Name Space</h:title>
   </head>
   <body>
   <view>
      <v:title>XML</v:title>
   </view>
   </body>
<html>

6. ในบางครั้งเอกสาร XML ก็มีส่วนตรงกับฐานข้อมูล (Database) เพราะฉนั้นการตั้งชื่อที่ดีก็ควรจะยึดหลังคล้ายๆกัน
7. ตัวอังษรที่ไม่ใช่ภาษาอังงกฤษ เช่น áéòáòò นั้นถูกกฎของ XML เเต่ควรระมัดระวังในการใช้
เพราะบางโปรแกรมไม่ได้รองรับภาษาเหล่านี้

Elements ของ XML สามารถขยายออกได้
ตัวอย่างเช่น

โค้ด: เลือกทั้งหมด

<student>
   <information>
      <firstname>ศิริโกศล</firstname>
      <lastname>มีสุข</lastname>
      <age>21ปี</age>
   </information>
</student>
จากตัวอย่าง Code ข้างต้นจะมีการแสดงผลออกมาดังนี้
output.jpg
ภาพที่ 1.1 ตัวอย่างการแสดงผลจาก Code ข้างต้น
output.jpg (49.6 KiB) เปิดดู 472 ครั้ง

ถ้าเพิ่มข้อมูลเข้าไป เช่น

โค้ด: เลือกทั้งหมด

<student>
   <information>
      <id>1420008705</id>
      <firstname>ศิริโกศล</firstname>
      <lastname>มีสุข</lastname>
      <age>21ปี</age>
      <born>11-11-1989</born>
      <phone>078-4578799</phone>
   </information>
</student>

โปรแกรมจะหยุดการทำงานหรือไม่ ?
ไม่ เพราะโปรแกรมยังคงสามารถค้นหา Element <firstname>, <lastname>,<age>
เหล่านี้ได้อยู่ ดังนั้น XML จึงสามารถขยายออกได้โดยไม่ส่งผลต่อการทำงานของโปรแกรม

ภาพประจำตัวสมาชิก
fern2535
PHP Super Member
PHP Super Member
โพสต์: 317
ลงทะเบียนเมื่อ: 04/08/2015 10:18 am

Re: XML Elements(อีลิเม้นต์)

โพสต์โดย fern2535 » 05/08/2015 11:14 am

:icon_plusone:

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 16790
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: XML Elements(อีลิเม้นต์)

โพสต์โดย mindphp » 29/01/2017 12:37 pm

VDO ของเนื้อหานี้

https://www.youtube.com/watch?v=YXq3IPrEr8w
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 1 และ บุคคลทั่วไป 0 ท่าน