"Kepriye lakune?"

"Apik. Ora bisa sambat. Dina iki Bilaabo ngandhani babagan JavaScript. Ora kabeh, mesthi, nanging luwih saka mung sethithik. Mesthi wae, aku isih durung nulis apa-apa ing JS, nanging aku ora mikir yen angel."

"Lan Ellie ngandhani aku babagan serialisasi JSON. Lan sampeyan nerangake kerangka Jackson lan carane nyiyapake 'deserialisasi polimorfik' nggunakake anotasi."

"Ora ngono! Sampeyan saiki wis pinter, Amigo! Kandang jaran tenan!"

"Lan banjur sawetara!"

"Oke. Ayo kerja. Dina iki kita duwe topik anyar sing menarik: XML. "

XML, serialisasi menyang XML - 1

"XML minangka standar kanggo makili data sing bisa gampang diwaca dening manungsa-lan luwih gampang dening program. Iki conto file XML:"

XML
<data>
<owner first="Adam" last="Shelton">
<address>London</address>
</owner>
<cat name="Missy" age="15"/>
</data>

"Dasar XML yaiku tag. Tag yaiku tembung ing kurung sudut (tandha luwih gedhe tinimbang lan kurang). Ana tag pambuka lan tutup. Saben tag pambuka duwe persis siji tag penutup sing cocog. Tag pambuka bisa duwe atribut. "

"Tag bisa dipasang ing njero tag, saéngga nggawe wit unsur. Tag tingkat paling dhuwur diarani root: duwe tag anak, sing uga duwe tag anak dhewe."

"Iki sawetara conto:"

Tag Katrangan
<data> _ _ Pambuka tag data
</ data > Nutup tag data
jeneng kucing = " Missy " umur = " 15 "> A tag karo atribut. Nilai atribut dibungkus kuotasi
<data>
<owner>
<cat name = "Missy"/>
</owner>
</data>
Tag sing disarang.
< jeneng kucing = "Missy" umur = "15"  /> Tag sing nutup dhewe.
Tag kasebut ora mbutuhake tag penutup.
Lan padha ora bisa duwe tag anak.
<info>
Informasi apa wae bisa mlebu ing kene
</info>
Tag bisa ngemot data teks
<info>
Sembarang jenis
<data xxx = "yyy">
</data>
informasi
<data 2xxx = "yyy"/>
bisa mlebu ing kene
</info>
Tag bisa ngemot data teks sing diselingi karo tag liyane.

"Iku katon gampang. Apa jenis tag ana?"

"Sembarang jinis. Ora ana tag sing dilindhungi undhang-undhang. XML minangka basa kanggo njlentrehake data apa wae. Wong teka karo tag sing nyukupi kabutuhan lan setuju babagan cara nggunakake."

"Intine, XML minangka cara kanggo nulis data minangka wit unsur sing bisa dingerteni komputer."

"Aku rumangsa ngerti saiki. Ngomong-ngomong, aku duwe pitakon."

"JSON digunakake kanggo ngirim data saka browser menyang server, nanging ing ngendi XML digunakake?"

"Ing panggonan sing padha JSON digunakake: kanggo nyimpen lan ngirim data."

"Oke, ayo diterusake."

"Bayangake yen sampeyan duwe file XML sing dienggo bareng sing nyimpen data kanggo program sing ditulis dening rong puluh wong. Saben wong teka kanthi tag dhewe, lan kanthi cepet mulai ngganggu siji liyane."

"Kanggo mesthekake yen tag unik, prefiks diciptakake. Iki minangka tampilan:"

Tag Katrangan
< kewan :kucing> Tag kucing kanthi awalan kewan
< kewan : kucing >
</ kewan : kucing >
< kebun binatang : kucing >
</ kebun binatang : kucing>
Loro tag kucing kanthi prefiks sing beda.
< kewan : kebun binatang kucing  : jeneng = "MX"> Tag kucing kanthi awalan kewan . Atribut jeneng kanthi awalan kebon binatang .

"Ater-ater uga disebut namespaces. Yen kita nelpon namespaces, banjur katrangan pungkasan ing tabel dadi 'A tag kucing karo jeneng kewan. A atribut jeneng karo zoo namespace.'"

"Oalah, sampeyan kelingan yen ing Jawa saben kelas duwe jeneng cendhak lan jeneng unik dawa sing kalebu jeneng paket, sing uga ditemtokake nalika ngimpor paket kasebut?"

"Ya wis."

"Inggih, awalan uga duwe jeneng dawa unik, lan uga ditemtokake nalika diimpor: "

Tuladha
< data  xmlns:soap="http://cxf.apache.org/bindings/soap" >
 < soap :item> 
< soap :info/> 
</ soap :item> 
</ data >

"' xml ns :soap' tegese ' XMLn ame s pace SOAP'"

"Sampeyan uga bisa nyetel jeneng unik saka tag sing ora duwe awalan: "

Tuladha
<data xmlns = "http://www.springframework.org/schema/beans" 
xmlns: soap = "http://cxf.apache.org/bindings/soap" 
xmlns:task = "http://www.springframework .org/schema/task" > 
< soap :item> 
< soap :info/> 
< task :info/> 
</ soap :item> 
</data>

"'xmlns=…' nyetel spasi jeneng kanggo awalan kosong. Ing tembung liya, iku nyetel spasi jeneng kanggo tag tanpa awalan, kayata data ing conto ing ndhuwur."

"Sampeyan bisa duwe akeh spasi jeneng ing dokumen sing dikarepake, nanging saben kudu duwe jeneng unik."

"Aku ngerti. Kenapa spasi jeneng iki duwe jeneng unik sing aneh?"

"Biasane nuduhake URL sing nuduhake dokumen sing nggambarake ruang jeneng lan / utawa tag XML."

"Sampeyan mbuwang akeh informasi babagan aku dina iki. Apa maneh?"

"Isih ana liyane."

"Kaping pisanan, XML duwe header. Iku baris khusus sing njlèntrèhaké versi XML lan enkoding file. "Biasane katon kaya iki:"

"Biasane kaya iki:"

Tuladha
<?xml  version = "1.0"  encoding = "UTF-8"?>
<data xmlns:soap = "http://cxf.apache.org/bindings/soap">
<sabun:item>
<sabun: info/>
</sabun:item>
</data>

"Sampeyan uga bisa nambah komentar menyang XML. Kanggo miwiti komentar, gunakake '<!--'. Kanggo mungkasi, gunakake '-->'."

Tuladha
<?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>

"Aku ngerti nganti saiki."

"Simbol tartamtu (< > " &) duwe makna khusus ing XML, saengga ora bisa digunakake ing papan liya. Kita bisa ngatasi watesan iki kanthi urutan uwal-sakumpulan karakter sing digunakake kanggo makili karakter / simbol liyane. Iki sawetara:"

Urutan uwal Simbol sing diganti
& amp; &
" «
< <
> >
& apos; '

"Lan iki conto kode sing dipasang ing XML:"

kode Jawa kode Java ing XML
if (a < b)
System.out.println("a is minimum");
<kode>
yen (a  <  b)
 System.out.println( " a minimal " );
</code>

"Uh... Sing katon ora ayu."

"Sampeyan bakal kelingan yen ing Jawa sawetara karakter uga oncat? Contone, "\". Lan urutan iki uga kudu ditulis kaping pindho nalika nulis kanggo String? Dadi iki kedadeyan umum."

"Oke."

"Iku kabeh sing dakkarepake kanggo dina iki."

"Hore. Akhire aku bisa istirahat."