Deploy Web App to Heroku "XML"
XML คืออะไร
XML เป็นภาษาที่ถูกออก แบบขึ้นมาเพื่อทำการแลกเปลี่ยนข้อมูลผ่านเครือข่ายอินเทอร์เน็ต และสามารถรองรับการเเลกเปลี่ยนได้หลายภาษา หากจะให้เข้าใจง่ายๆก็ยกตัวอย่างเช่น คนหลายชาติต่างภาษาเลือกที่จะทำการศึกษาภาษาอังกฤษในการสื่อสารกับชาติต่างๆ เพราะภาษาอังกฤษถือเป็นภาษากลาง เเทนที่จะทำการศึกษาเพียงภาษาใดภาษาหนึ่ง เพราะหากสามารถเข้าใจภาษากลางเพียงภาษาเดียวเเล้ว ก็แถบจะสามารถสื่อสารได้กับทุกชาติ เพราะฉนั้น XML จึงเปรียบเสมือนภาษากลาง
ความเเตกต่างระหว่าง HTML และ XML
TML คือ ภาษาสำหรับเเสดงผลข้อมูล เพียงอย่างเดียว โดยไม่รู้ว่าข้อมูลนั้นคืออะไร เช่น เเสดงข้อมูลเป็นตัวหนา ตัวเอน เป็นต้น XML คือ ภาษาสำหรับอธิบายข้อมูล และเก็บข้อมูลอะไร
โครงสร้างของภาษา XML
ภาษา XML ไม่มีโครงสร้างกำหนดเอาไว้ตายตัวซึ่งก็ถือเป็นข้อดีของ XML ที่สามารถนำไปประยุกต์ใช้กับโปรแกรมอื่นๆ ถึงเเม้ว่า XML จะไม่มีโครงสร้างที่กำหนดไว้อย่างตายตัวเเล้ว เเต่ XML ก็มีรูปแบบที่เป็นที่ตกลงกัน เพื่อให้เข้าใจได้ง่ายขึ้น ดูตัวอย่างได้จากโค้ดข้างล่างนี้1001มณีศรีเพ็ญบัญชี087-1245766 จาก Code จะเห็นว่ามีเครื่องหมาย < และ > เป็นตัวบ่งบอกแท็ก เมื่อมีการกำหนดเเท็กทุกครั้งจะต้องเริ่มด้วย Start Tags เช่น และจบลงด้วย End Tags ทุกครั้ง เช่น ส่วนข้อมูลที่อยู่ตรงการจะเรียนกว่า Element (สมาชิก)
กฏเบื้องต้นสำหรับการสร้างข้อมูลที่เก็บอยู่ในโครงสร้างของ XML
- ในการสร้างแท็กเเต่ลละครั้งจะต้องมีทั้ง เเท็กเปิดและเเท็กปิด เพื่อระบุขอบเขตของข้อมูล
- ในภาษา XML ตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่มีความเเตกต่างกัน เช่น... แบบนี้จะเกิดความผิดพลาด
- ในบางครั้งอาจมีลำดับชั้นที่ซับซ้อนมากขึ้น ดังนั้นควรระมัดระวังเรื่องของแท็กปิดและเเท็กเปิดให้ตรงลำดับชั้น เช่น001A33C03Auttaya Teeyut074-1454788
* สามารถสร้างเเท็กที่ซับซ้อนได้เท่าที่ต้องการ เพียงเเต่จะต้องปิดลำดับชั้นของเเท็กให้ถูกต้อง
สรุปความเข้าใจภาษา XML เบื้องต้น
- ถูกกำหนดมาตรฐานโดย W3C
- รูปแบบข้อมูลที่มีโครงสร้างที่เหมาะต่อการแลกเปลี่ยนข้อมูลในเครือข่ายอินเทอร์เน็ต
- ลักษณะของภาษาคล้ายกับ HTML
- เป็นการออกแบบข้อมูลไม่ใช่การเเสดงข้อมูลออกมา
- ไม่มี tag กำหนดล่วงหน้าตายตัว เพราะฉนั้นต้องกำนด tag ขึ้นมาเอง
- โครงสร้างของภาษา XML คือ แท็กเปิด <>, แท็กปิด</> ,Element
ถ้าจะต้องเเลกเปลี่ยนข้อมูลกันจะทำอย่างไร ถ้าหากมีเว็บที่ทำงานเเบบเดียวกันอยู่หลายเว็บ
|
wordbank |
ปัญหาเเรกที่พบเลยคือรูปเเบบไม่ตรงกันทำให้ไม่สามารถที่จะนำข้อมูลของเว็บ อื่นๆ มาใช้งานด้วยกันได้เนี่องจากมีการจัดวาง root ที่ไม่เหมือนกัน ทำให้ไม่สามารถที่จะใช้ ฟังก์ชั่น เดิมที่เคยเรียกใช้ได้
|
xml ที่ wordbank ใช้ |
|
xml ที่ เว็บอื่นใช้ |
ทำข้อตกลงกันระหว่าง เว็บ ว่าจะมีเเบบที่เป็น มาตราฐาน อย่างไรเมื่อตกลงกันได้เเล้วก็สร้าง ฟังก์ชั่น ใหม่มา 1 ฟังก์ชั่น เพื่อทำงานนี้โดยเฉพาะ ทุกเว็บต้องมีเหมือนกัน
def standard_save_xml_file():
all_word = Word.objects.all()
words = ET.Element('bank')
for word_ in all_word:
for detail in word_.detail_set.all():
et_word = ET.SubElement(words, 'word')
ET.SubElement(et_word, 'text').text = word_.word_text
ET.SubElement(et_word, 'type').text = detail.type_text
ET.SubElement(et_word, 'mean').text = detail.example_text_EN
ET.SubElement(et_word, 'ex').text = detail.example_sentence_EN
tree = ET.ElementTree(words)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น