XML Parser
အဓိကဘရောက်ဆာအားလုံးတွင် XML ကိုဝင်ရောက်ကြည့်ရှုပြီး ကိုင်တွယ်အသုံးပြုရန် အသင့်ပါရှိသော XML parser တစ်ခုရှိသည်။
XML Parser
XML DOM (Document Object Model) သည် XML ကို ဝင်ရောက်ခြင်းနှင့် တည်းဖြတ်ခြင်းအတွက် ဂုဏ်သတ္တိများနှင့် နည်းလမ်းများကို သတ်မှတ်သည်။
သို့သော်၊ XML စာရွက်စာတမ်းကို မဝင်ရောက်မီ၊ ၎င်းကို XML DOM အရာဝတ္ထုတစ်ခုထဲသို့ တင်ရပါမည်။
ခေတ်မီဘရောက်ဆာများအားလုံးတွင် စာသားကို XML DOM အရာဝတ္ထုအဖြစ်သို့ ပြောင်းလဲနိုင်သည့် တပ်ဆင်ထားသော XML parser တစ်ခုရှိသည်။
Text String တစ်ခုကို ခွဲခြမ်းစိပ်ဖြာခြင်း။
ဤဥပမာသည် XML DOM အရာဝတ္ထုတစ်ခုသို့ စာသားစာကြောင်းတစ်ခုကို ခွဲခြမ်းစိပ်ဖြာပြီး ၎င်းမှ အချက်အလက်များကို JavaScript ဖြင့် ထုတ်ယူသည်-
ဥပမာ
<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
နမူနာရှင်းပြထားပါတယ်။
စာသား စာကြောင်းကို သတ်မှတ်သည်-
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
XML DOM ခွဲခြမ်းစိပ်ဖြာမှုကို ဖန်တီးထားသည်-
parser = new DOMParser();
ခွဲခြမ်းစိတ်ဖြာသူသည် စာသားကြိုးကို အသုံးပြု၍ XML DOM အရာဝတ္ထုအသစ်တစ်ခုကို ဖန်တီးသည်-
xmlDoc = parser.parseFromString(text,"text/xml");
Internet Explorer ၏ ဗားရှင်းဟောင်းများ
Internet Explorer ဗားရှင်းဟောင်း (IE5၊ IE6၊ IE7၊ IE8) သည် DOMParser အရာဝတ္တုကို မပံ့ပိုးပါ။
Internet Explorer ၏ ဗားရှင်းအဟောင်းများကို ကိုင်တွယ်ရန်၊ ဘရောက်ဆာသည် DOMParser အရာဝတ္တုကို ပံ့ပိုးခြင်း ရှိ၊ မရှိ စစ်ဆေးပါ၊ သို့မဟုတ်ပါက ActiveXObject ကို ဖန်တီးပါ-
ဥပမာ
if (window.DOMParser) {
// code for modern browsers
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
}
else {
// code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(text);
}
XMLHttpRequest Object
XMLHttpRequest Object တွင် XML Parser တွင် တည်ဆောက်ထားသည်။
တုံ့ပြန်မှု စာသားပိုင်ဆိုင်မှုသည် တုံ့ပြန်ချက်ကို စာကြောင်းတစ်ခုအဖြစ် ပြန်ပေးသည် ။
တုံ့ပြန်မှု XML ပိုင်ဆိုင်မှု သည် တုံ့ပြန်မှုကို XML DOM အရာဝတ္ထုအဖြစ် ပြန်ပေးသည်။
အကယ်၍ သင်သည် တုံ့ပြန်မှုကို XML DOM အရာဝတ္ထုအဖြစ် အသုံးပြုလိုပါက၊ သင်သည် responseXML ပိုင်ဆိုင်မှုကို အသုံးပြုနိုင်သည်။
ဥပမာ
cd_catalog.xml ဖိုင်ကို တောင်းဆိုပြီး တုံ့ပြန်မှုကို XML DOM အရာဝတ္ထုအဖြစ် အသုံးပြုပါ-
xmlDoc = xmlhttp.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("ARTIST");
for (i = 0; i < x.length; i++) {
txt += x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;