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 »

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 ว่าไว้ https://www.mindphp.com/forums/viewtopic ... 654#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 ข้างต้นจะมีการแสดงผลออกมาดังนี้
ภาพที่ 1.1 ตัวอย่างการแสดงผลจาก Code ข้างต้น
ภาพที่ 1.1 ตัวอย่างการแสดงผลจาก Code ข้างต้น
output.jpg (49.6 KiB) Viewed 5804 times
ถ้าเพิ่มข้อมูลเข้าไป เช่น

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

<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 »

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

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

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

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

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

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 31