"เป็นอย่างไรบ้าง?"
"เยี่ยม บ่นไม่ได้ วันนี้ Bilaabo บอกฉันเกี่ยวกับ JavaScript ไม่ใช่ทุกอย่าง แต่มากกว่าเพียงเล็กน้อย แน่นอนฉันยังไม่ได้เขียนอะไรใน JS แต่ฉันไม่คิดว่ามันจะเป็น ยาก."
"และ Ellie บอกฉันเกี่ยวกับการทำให้เป็นอนุกรม JSON และคุณอธิบายเฟรมเวิร์กของ Jackson และวิธีตั้งค่า 'การดีซีเรียลไลเซชันแบบ polymorphic' โดยใช้คำอธิบายประกอบ"
"ไม่มีทาง! คุณฉลาดแล้ว Amigo! สตั๊ดตัวจริง!"
"แล้วบางส่วน!"
"ตกลง ไปทำงานกันเถอะ วันนี้เรามีหัวข้อใหม่ที่น่าสนใจ: XML "

"XML เป็นมาตรฐานสำหรับการแสดงข้อมูลที่มนุษย์สามารถอ่านได้ง่าย และง่ายยิ่งขึ้นโดยโปรแกรม นี่คือตัวอย่างไฟล์ XML:"
<data>
<owner first="Adam" last="Shelton">
<address>London</address>
</owner>
<cat name="Missy" age="15"/>
</data>
"รากฐานของ XML คือแท็ก แท็กคือคำในวงเล็บมุม (เครื่องหมายมากกว่าและน้อยกว่า) มีแท็กเปิดและปิด แท็กเปิดแต่ละแท็กมีแท็กปิดที่สอดคล้องกันหนึ่งแท็ก แท็กเปิดสามารถมีแอตทริบิวต์ได้ "
"แท็กสามารถซ้อนกันภายในแท็กได้ ดังนั้นการสร้างโครงสร้างองค์ประกอบ แท็กระดับบนสุดเรียกว่ารูท: มีแท็กย่อยซึ่งจะมีแท็กย่อยของตัวเอง"
"นี่คือตัวอย่างบางส่วน:"
แท็ก | คำอธิบาย |
---|---|
< ข้อมูล > | เปิดแท็กข้อมูล |
</ ข้อมูล > | ปิดแท็กข้อมูล |
< ชื่อ แมว = " Missy " อายุ = " 15 "> | แท็กที่มีคุณสมบัติ ค่าแอตทริบิวต์อยู่ในเครื่องหมายคำพูด |
<ข้อมูล > <เจ้าของ> <ชื่อแมว = "มิสซี่"/> </เจ้าของ> </data> |
แท็กที่ซ้อนกัน |
< ชื่อแมว = "มิสซี่" อายุ = "15" /> | แท็กปิดตัวเอง แท็กดังกล่าวไม่ต้องการแท็กปิด และไม่สามารถมีแท็กย่อยได้ |
<info> ข้อมูลทุกประเภทสามารถไปที่นี่ได้ </info> |
แท็กสามารถมีข้อมูลที่เป็นข้อความ |
<info> <data xxx = "yyy"> </data> ข้อมูล ชนิดใดก็ได้<data 2xxx = "yyy"/> สามารถไปที่นี่ได้</info> |
แท็กอาจมีข้อมูลข้อความกระจายอยู่กับแท็กอื่นๆ |
"มันดูง่าย มีแท็กอะไรบ้าง"
"ประเภทใดก็ได้ ไม่มีแท็กที่สงวนไว้ XML เป็นภาษาสำหรับอธิบายข้อมูลใด ๆ ผู้คนคิดแท็กที่ตรงกับความต้องการของพวกเขาและตกลงว่าจะใช้งานอย่างไร"
"โดยพื้นฐานแล้ว XML เป็นวิธีการเขียนข้อมูลเป็นแผนผังองค์ประกอบที่คอมพิวเตอร์สามารถเข้าใจได้"
"ฉันคิดว่าฉันเข้าใจแล้ว อย่างไรก็ตาม ฉันมีคำถาม"
"JSON ใช้เพื่อส่งข้อมูลจากเบราว์เซอร์ไปยังเซิร์ฟเวอร์ แต่จะใช้ XML ที่ไหน"
"ในสถานที่เดียวกับที่ใช้ JSON: สำหรับจัดเก็บและส่งข้อมูล"
"โอเค ไปกันต่อ"
"ลองนึกภาพว่าคุณมีไฟล์ XML ที่ใช้ร่วมกันไฟล์หนึ่งที่เก็บข้อมูลสำหรับโปรแกรมที่เขียนโดยคน 20 คน แต่ละคนมีแท็กของตัวเอง และพวกเขาก็เริ่มรบกวนซึ่งกันและกันอย่างรวดเร็ว"
"เพื่อให้แน่ใจว่าแท็กไม่ซ้ำกัน คำนำหน้าจึงถูกประดิษฐ์ขึ้น นี่คือรูปลักษณ์:"
แท็ก | คำอธิบาย |
---|---|
< สัตว์ : แมว> | ป้ายชื่อแมวที่มีคำนำหน้าสัตว์ |
< สัตว์ :แมว> </ สัตว์:แมว> < สวนสัตว์ :แมว> </ สวนสัตว์ :แมว> |
แท็ก แมวสองตัวที่มีคำนำหน้าต่างกัน |
< สัตว์ : สวนสัตว์แมว : ชื่อ = "MX"> | ป้าย ชื่อ แมวที่มีคำนำหน้าสัตว์ แอตทริบิวต์ชื่อที่มีคำนำหน้าสวนสัตว์ |
"คำนำหน้าเรียกอีกอย่างว่าเนมสเปซ ถ้าเราเรียกมันว่าเนมสเปซ คำอธิบายสุดท้ายในตารางจะกลายเป็น 'แท็กแมวที่มีเนมสเปซสัตว์ แอตทริบิวต์ชื่อที่มีเนมสเปซสวนสัตว์'"
"ยังไงก็ตาม คุณจำได้ไหมว่าใน Java แต่ละคลาสจะมีชื่อสั้นและชื่อยาวที่ไม่ซ้ำกันซึ่งรวมถึงชื่อแพ็คเกจด้วย ซึ่งระบุไว้เมื่อนำเข้าแพ็คเกจด้วย"
"ใช่."
" คำนำหน้ายังมีชื่อยาวที่ไม่ซ้ำกันและมีการระบุเมื่อนำเข้าด้วย: "
< data xmlns:soap="http://cxf.apache.org/bindings/soap" > < สบู่ :item> < สบู่ :info/> </ สบู่ :item> </ data >
"' xml ns :soap' หมายถึง ' XML — n ame s pace SOAP'"
"คุณยังสามารถตั้งชื่อเฉพาะของแท็กที่ไม่มีคำนำหน้า: "
<ข้อมูล xmlns = "http://www.springframework.org/schema/beans" xmlns: soap = "http://cxf.apache.org/bindings/soap" xmlns:task = "http://www.springframework .org/schema/task" > < สบู่ :item> < สบู่ :info/> < งาน :info/> </ สบู่ :item> </data>
"'xmlns=…' ตั้งค่าเนมสเปซสำหรับคำนำหน้าที่ว่างเปล่า กล่าวอีกนัยหนึ่ง ตั้งค่าเนมสเปซสำหรับแท็กที่ไม่มีคำนำหน้า เช่น ข้อมูลในตัวอย่างด้านบน"
"คุณสามารถมีเนมสเปซในเอกสารได้มากเท่าที่คุณต้องการ แต่แต่ละเนมสเปซต้องมีชื่อเฉพาะ"
"เข้าใจแล้ว ทำไมเนมสเปซเหล่านี้ถึงมีชื่อแปลก ๆ แปลกๆ"
"โดยปกติจะระบุ URL ที่ชี้ไปยังเอกสารที่อธิบายเนมสเปซและ/หรือแท็ก XML"
“วันนี้คุณให้ข้อมูลกับฉันมากมาย แล้วมีอะไรอีก”
"ยังมีอีกนิดหน่อย"
"อย่างแรก XML มีส่วนหัว เป็นบรรทัดพิเศษที่อธิบายเวอร์ชัน XML และการเข้ารหัสไฟล์ "โดยปกติจะมีลักษณะดังนี้:"
"มักจะมีลักษณะดังนี้:"
<?xml เวอร์ชัน = "1.0" การเข้ารหัส = "UTF-8"?>
<ข้อมูล xmlns:soap = "http://cxf.apache.org/bindings/soap">
<สบู่:ไอเท็ม>
<สบู่:ข้อมูล/>
</สบู่:รายการ>
</ข้อมูล>
"คุณยังสามารถเพิ่มความคิดเห็นใน XML หากต้องการเริ่มแสดงความคิดเห็น ให้ใช้ '<!--' หากต้องการสิ้นสุด ให้ใช้ '-->'"
<?xml version = "1.0" encoding = "UTF-8"?>
<data xmlns:soap = "http://cxf.apache.org/bindings/soap">
<soap:item>
<!-- <soap:info/> -->
</soap:item>
<!-- This is also a comment -->
</data>
"ฉันเข้าใจจนถึงตอนนี้"
"สัญลักษณ์บางตัว (< > " &) มีความหมายพิเศษใน XML ดังนั้นจึงไม่สามารถใช้ที่อื่นได้ เราหลีกเลี่ยงข้อจำกัดนี้ได้ด้วย Escape Sequence ซึ่งเป็นชุดของอักขระที่ใช้แทนอักขระ/สัญลักษณ์อื่นๆ นี่คือบางส่วนของพวกเขา:"
ลำดับการหลบหนี | สัญลักษณ์ที่มันแทนที่ |
---|---|
& | & |
" | « |
< | < |
> | > |
' | ' |
"และนี่คือตัวอย่างโค้ดที่ฝังอยู่ใน XML:"
รหัสจาวา | รหัส Java ใน XML |
---|---|
|
<รหัส> ถ้า (ก < ข) System.out.println( " a คือขั้นต่ำ" ); </code> |
"เอ่อ... มันดูไม่ค่อยสวยเลย"
"คุณจะจำได้ว่าใน Java อักขระบางตัวจะถูก Escape ด้วยหรือไม่ ตัวอย่างเช่น "\" และลำดับนี้ต้องเขียนสองครั้งเมื่อเขียนไปยังสตริง ดังนั้นนี่จึงเป็นเหตุการณ์ทั่วไป"
"ตกลง."
"นั่นคือทั้งหมดที่ฉันมีสำหรับวันนี้"
"ไชโย ในที่สุดฉันก็ได้พักสักที"
GO TO FULL VERSION