មេរៀនទី២៧: មេរៀន XML JavaScript


aមេរៀន XMLHttpRequest Object
វត្ថុ XMLHttpRequest ត្រូវ​បាន​ប្រើ​ដើម្បី​ផ្លាស់​ប្តូ​រ​ទិន្នន័យ​ជាមួយ​ម៉ាស៊ីន​បម្រើ​ដែល​នៅ​ពីក្រោយ​ឆាក​មួយ​។
-ធ្វើ​ឱ្យ​ទាន់សម័យ​ទំព័រ​បណ្ដាញ​ដោយ​មិន​បាន reloading ទំព័រ
-ស្នើ​សុំ​ទិន្នន័យ​ពី​ម៉ាស៊ីន​បម្រើ​បន្ទាប់​ពី​ទំព័រ​មួយ​ដែល​បាន​ផ្ទុក
-ទទួល​បាន​ទិន្នន័យ​ពី​ម៉ាស៊ីន​បម្រើ​មួយ​បន្ទាប់​ពី​ទំព័រ​ដែល​បាន​ផ្ទុក
-ផ្ញើ​ទិន្នន័យ​ទៅ​កាន់​ម៉ាស៊ីន​បម្រើ​នៅ​ក្នុង​ផ្ទៃ​ខាងក្រោយ​
ឩ​ទា​ហរ​ណ៍ XMLHttpRequest នៅ​ពេល​ដែល​អ្នក​វាយ​តួ​អក្សរ​មួយ​នៅ​ក្នុង​វាល​បញ្ចូល​ដូច​ខាងក្រោម​: XMLHttpRequest មួយ​ត្រូវ​បាន​ផ្ញើ​ទៅ​កាន់​ម៉ាស៊ីន​បម្រើ – ការ​ផ្ដល់​យោបល់​និង​ឈ្មោះ​របស់​វា​ត្រូវ​បាន​ត្រឡប់ (ពី​ឯកសារ​នៅ​លើ​ម៉ាស៊ីន​បម្រើ​មួយ​)​:
aបង្កើត​វត្ថុ XMLHttpRequest
ទាំងអស់​កម្មវិធី​រុករក​សម័យ​ទំនើប (IE7 + របស់ Firefox​, Chrome​, Safari និង​របស់ Opera​) មាន​វត្ថុ XMLHttpRequest មាន​ស្រាប់​នៅ​ក្នុង​។វាក្យ​សម្ព័ន្ធ​សម្រាប់​ការ​បង្កើត​វត្ថុ XMLHttpRequest​:
xmlhttp=new XMLHttpRequest();
កំណែ​ចាស់​នៃ​ការ​រុករក​អ៊ិ​ន​ធឺ​ណិ (IE5 និង IE6​) ប្រើ​វត្ថុ ActiveX​:
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
មេរៀន XML Parser
Parse an XML Document
បំណែក​កូដ​ដូច​ខាងក្រោម​ញែក​ឯកសារ XML មួយ​ចូល​ទៅ​ក្នុង​វត្ថុ​មួយ​របស់ XML របស់ DOM​:
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
xmlhttp.open(“GET”,”books.xml”,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
Parse an XML String
បំណែក​កូដ​ដូច​ខាងក្រោម​ញែក​ខ្សែ​អក្សរ XML ដែល​ចូល​ទៅ​ក្នុង​វត្ថុ​មួយ​របស់ XML របស់ DOM​:
txt=””;
txt=txt+”Everyday Italian”;
txt=txt+”Giada De Laurentiis”;
txt=txt+”2005”;
txt=txt+”
”;
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,”text/xml”);
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject(“Microsoft.XMLDOM”);
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}

មេរៀន XML DOM

XML DOM ការ XML មាន​របស់ DOM កំណត់​វិធី​ស្តង់​ដា​រ​សម្រាប់​ការ​ចូល​ដំណើរការ​និង​ការ​គណនា​ឯកសារ XML មួយ​ឯកសារ​។
ការ XML មាន​របស់ DOM views ឯកសារ XML ជា​មែកធាង​រចនា​សម្ព័ន្ធ​។
DOM HTML HTML & របស់ DOM កំណត់​វិធី​ស្តង់​ដា​រ​សម្រាប់​ការ​ចូល​ដំណើរការ​និង​ការ​គណនា​ឯកសារ HTML ។
ទាំងអស់​ធាតុ HTML ដែល​អាច​ត្រូវ​បាន​ចូល​ដំណើរ​ការ​តាម​រយៈ HTML & របស់ DOM ។
Load an XML File – Cross-browser
ឧទាហរណ៍​ដូច​ខាង​ក្រោម​ញែក​ឯកសារ XML (” note.xml “) ចូល​ទៅ​ក្នុង​វត្ថុ​មួយ​របស់ XML របស់ DOM ហើយ​បន្ទាប់​មក​ដក​ស្រង់​ព័ត៌មាន​ខ្លះ​ពី​វា​ជាមួយ​ការ​អនុញ្ញាត JavaScript ថា​:
ឧ​ទា​ហរ​ណ៏


W3Schools Internal Note



To:

From:

Message:



សារ:សំខាន់ ដើម្បី​ដក​ស្រង់​អត្ថបទ “Tove​” ពី​ធាតុ នៅ​ក្នុង​ឯកសារ XML ខាងលើ (“note.xml​”​) វាក្យ​សម្ព័ន្ធ​គឺ​:
getElementsByTagName(“to”)[0].childNodes[0].nodeValue
ចំណាំ​ថា​ប្រសិន​បើ​ទោះ​បី​ជា​ឯកសារ XML ដែល​មាន​ធាតុ​តែ​មួយ​ប៉ុណ្ណោះ អ្នក​នៅ​តែ​មាន​ដើម្បី​បញ្ជាក់​លិបិក្រម​អា​រេ​បាន [0​] ។ នេះ​គឺ​ដោយ​សារ​តែ getElementsByTagName នេះ () វិធីសាស្ត្រ​ត្រឡប់​អា​រេ​មួយ​។

Load an XML String – Cross-browser
ឧទាហរណ៍​ដូច​ខាង​ក្រោម​ញែក​ខ្សែ​អក្សរ XML ដែល​ចូល​ទៅ​ក្នុង​វត្ថុ​មួយ​របស់ XML របស់ DOM ហើយ​បន្ទាប់​មក​ដក​ស្រង់​ព័ត៌មាន​ខ្លះ​ពី​វា​ជាមួយ​ការ​អនុញ្ញាត JavaScript ថា​:
ឧ​ទា​ហរ​ណ៏


W3Schools Internal Note



To:

From:

Message:





មេរៀន XML នៅក្នុង HTML បង្ហាញ​ទិន្នន័យ XML មាន​ក្នុង​ទំព័រ HTML មួយ
នៅ​ក្នុង​ឧទាហរណ៍​ខាងក្រោម​នេះ​យើង​បើក​ឯកសារ XML (” cd_catalog.xml “) បន្ទាប់​មក​យើង​រង្វិល​ជុំ​គ្នា​តាម​រយៈ​ធាតុ​ស៊ីឌី​និង​បង្ហាញ​តម្លៃ​នៃ​ ធាតុ​សិល្បករ​និង​ចំណង​ជើង​ធាតុ​នៅ​ក្នុង​តារាង HTML ដែល​មួយ​:
ឧ​ទា​ហរ​ណ៏





មេរៀន XML Applications
បង្ហាញ​ស៊ីឌី​លើក​ដំបូង​នៅ​ក្នុង​ធាតុ div មួយ​របស់ HTML ឧទាហរណ៍​ដូច​ខាង​ក្រោម​ទទួល​បាន​ទិន្នន័យ XML មាន​ពី​ធាតុ​ស៊ីឌី​លើក​ដំបូង​ហើយ​បង្ហាញ​វា​នៅ​ក្នុង​ធាតុ​របស់ HTML មួយ​ជាមួយ​លេខ​សម្គាល់ = “showCD​” ។ displayCD នេះ () មុខងារ​ត្រូវ​បាន​គេ​ហៅថា​ពេល​ទំព័រ​ត្រូវ​បាន​ផ្ទុក​:
ឧ​ទា​ហរ​ណ៏
x=xmlDoc.getElementsByTagName(“CD”);
i=0;
function displayCD()
{
artist=(x[i].getElementsByTagName(“ARTIST”)[0].childNodes[0].nodeValue);
title=(x[i].getElementsByTagName(“TITLE”)[0].childNodes[0].nodeValue);
year=(x[i].getElementsByTagName(“YEAR”)[0].childNodes[0].nodeValue);
txt=”Artist: ” + artist + “
Title: ” + title + “
Year: “+ year;
document.getElementById(“showCD”).innerHTML=txt;
}
Navigate Between the CDs ដើម្បី​រុករក​រវាង​ស៊ីឌី​នៅ​ក្នុង​ឧទាហរណ៍​ខាង​លើ​បន្ថែម​  next() និង previous() function:
ឧ​ទា​ហរ​ណ៏
function next()
{ // display the next CD, unless you are on the last CD
if (i {
i++;
displayCD();
}
}

function previous()
{ // displays the previous CD, unless you are on the first CD
if (i>0)
{
i–;
displayCD();
}
}