XML ကျူတိုရီရယ်

XML ပင်မစာမျက်နှာ XML နိဒါန်း XML အသုံးပြုပုံ XML သစ်ပင် XML Syntax XML ဒြပ်စင်များ XML အရည်အချင်းများ XML Namespaces XML မျက်နှာပြင် XML Http တောင်းဆိုချက် XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink XML စစ်ဆေးခြင်း XML DTD XML Schema XML ဆာဗာ XML နမူနာများ XML Quiz XML လက်မှတ်

XML AJAX

AJAX နိဒါန်း AJAX XMLHttp AJAX တောင်းဆိုချက် AJAX တုံ့ပြန်မှု AJAX XML ဖိုင် AJAX PHP AJAX ASP AJAX ဒေတာဘေ့စ် AJAX အပလီကေးရှင်းများ AJAX ဥပမာများ

XML DOM

DOM နိဒါန်း DOM Nodes DOM အသုံးပြုခြင်း DOM Node အချက်အလက် DOM Node စာရင်း DOM လမ်းလျှောက်ခြင်း။ DOM လမ်းကြောင်းပြခြင်း။ DOM တန်ဖိုးများရယူပါ။ DOM Change Nodes DOM သည် Nodes များကို ဖယ်ရှားပါ။ DOM သည် Nodes များကို အစားထိုးပါ။ DOM သည် Nodes ကိုဖန်တီးပါ။ DOM Add Nodes DOM Clone Nodes DOM ဥပမာများ

XPath ကျူတိုရီရယ်

XPath နိဒါန်း XPath Nodes XPath Syntax XPath Axes XPath အော်ပရေတာများ XPath ဥပမာများ

XSLT ကျူတိုရီရယ်

XSLT မိတ်ဆက် XSL ဘာသာစကားများ XSLT အသွင်ပြောင်း XSLT < template> XSLT <value-of> XSLT <for-every> XSLT <sort> XSLT <if> XSLT <choose> XSLT လျှောက်ထားပါ။ Client ပေါ်ရှိ XSLT ဆာဗာပေါ်ရှိ XSLT XSLT တည်းဖြတ် XML XSLT နမူနာများ

XQuery ကျူတိုရီရယ်

XQuery နိဒါန်း XQuery ဥပမာ XQuery FLWOR XQuery HTML XQuery စည်းမျဥ်းများ XQuery Syntax XQuery Add XQuery ကို ရွေးပါ။ XQuery လုပ်ဆောင်ချက်များ

XML DTD

DTD နိဒါန်း DTD ဆောက်လုပ်ရေးလုပ်ကွက်များ DTD ဒြပ်စင်များ DTD အရည်အချင်းများ DTD ဒြပ်စင်များနှင့် Attr DTD အဖွဲ့အစည်းများ DTD ဥပမာများ

XSD Schema

XSD မိတ်ဆက် XSD လုပ်နည်း XSD <schema> XSD ဒြပ်စင်များ XSD ရည်ညွှန်းချက်များ XSD ကန့်သတ်ချက်များ

XSD Complex

XSD ဒြပ်စင်များ XSD ဗလာ XSD ဒြပ်စင်များသာ XSD စာသားသီးသန့် XSD ရောနှောထားသည်။ XSD အညွှန်းကိန်းများ XSD <any> XSD <anyAttribute> XSD အစားထိုးခြင်း။ XSD ဥပမာ

XSD ဒေတာ

XSD ကြိုး XSD ရက်စွဲ XSD ဂဏန်း XSD ထွေ XSD အကိုးအကား

ဝဘ် ဝန်ဆောင်မှုများ

XML ဝန်ဆောင်မှုများ XML WSDL XML ဆပ်ပြာ XML RDF XML RSS

ကိုးကား

DOM Node အမျိုးအစားများ DOM Node DOM NodeList DOM အမည်ရှိNodeMap DOM စာရွက်စာတမ်း DOM ဒြပ်စင် DOM ရည်ညွှန်းချက် DOM စာသား DOM CDATA DOM မှတ်ချက် DOM XMLHttp တောင်းဆိုချက် DOM Parser XSLT ဒြပ်စင်များ XSLT/XPath လုပ်ဆောင်ချက်များ

XMLHttpRequest Object _


ခေတ်မီဘရောက်ဆာများအားလုံးတွင် ဆာဗာတစ်ခုမှဒေတာတောင်းခံရန် XMLHttpRequest object တစ်ခုရှိသည်။

အဓိကဘရောက်ဆာအားလုံးတွင် XML ကိုဝင်ရောက်ကြည့်ရှုပြီး ကိုင်တွယ်အသုံးပြုရန် အသင့်ပါရှိသော XML parser တစ်ခုရှိသည်။


XMLHttpRequest Object

ဝဘ်ဆာဗာတစ်ခုမှဒေတာတောင်းဆိုရန် XMLHttpRequest အရာဝတ္တုကို အသုံးပြုနိုင်သည်။

XMLHttpRequest object သည် developer ၏ အိပ်မက် ဖြစ်သည်၊ သင်လုပ်နိုင်သောကြောင့်-

  • စာမျက်နှာကို ပြန်မတင်ဘဲ ဝဘ်စာမျက်နှာကို အပ်ဒိတ်လုပ်ပါ။
  • စာမျက်နှာကို တင်ပြီးနောက် ဆာဗာတစ်ခုမှ ဒေတာကို တောင်းဆိုပါ။
  • စာမျက်နှာကို တင်ပြီးနောက် ဆာဗာတစ်ခုမှ ဒေတာကို ရယူပါ။
  • နောက်ခံတွင် ဆာဗာသို့ ဒေတာပို့ပါ။

XMLHttpRequest ဥပမာ

အောက်ဖော်ပြပါ ထည့်သွင်းအကွက်တွင် စာလုံးတစ်လုံးကို ရိုက်ထည့်သောအခါ၊ XMLHttpRequest ကို ဆာဗာသို့ ပေးပို့ပြီး အချို့သော အမည်အကြံပြုချက်များကို ပြန်လည်ပေးပို့သည် (ဆာဗာမှ)

ဥပမာ

Start typing a name in the input field below:

Name:

Suggestions:


XMLHttpRequest တစ်ခု ပေးပို့ခြင်း။

ခေတ်မီဘရောက်ဆာများအားလုံးတွင် XMLHttpRequest object တစ်ခုပါရှိသည်။

အသုံးပြုရန်အတွက် ယေဘူယျ JavaScript syntax သည် ဤကဲ့သို့ ဖြစ်သည်-

ဥပမာ

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
       // Action to be performed when the document is read;
    }
};
xhttp.open("GET", "filename", true);
xhttp.send();

XMLHttpRequest Object တစ်ခုကို ဖန်တီးခြင်း။

အထက်ဖော်ပြပါ ဥပမာရှိ ပထမစာကြောင်းသည် XMLHttpRequest object တစ်ခုကို ဖန်တီးသည်-

var xhttp = new XMLHttpRequest();

onreadystatechange ဖြစ်ရပ်

ReadyState ပိုင်ဆိုင်မှုသည် XMLHttpRequest ၏ အခြေအနေကို ထိန်းထားသည်

ReadyState ပြောင်းလဲ သည့် အခါတိုင်း onreadystatechange ဖြစ်ရပ်ကို အစပျိုးသည်။

ဆာဗာတောင်းဆိုမှုတစ်ခုအတွင်း ReadyState သည် 0 မှ 4 သို့ပြောင်းသည်-

0: တောင်းဆိုမှုကို အစပြု၍မရ
1- ဆာဗာချိတ်ဆက်မှုကို တည်ထောင်ခဲ့သည်
2- တောင်းဆိုချက် လက်ခံရရှိခဲ့သည်
3- တောင်းဆိုချက်
4- တောင်းဆိုချက် ပြီးဆုံးပြီး တုံ့ပြန်မှု အဆင်သင့်ဖြစ်နေပါပြီ

onreadystatechange ပိုင်ဆိုင်မှုတွင်၊ readyState ပြောင်းလဲသည့်အခါ လုပ်ဆောင်ရမည့် လုပ်ဆောင်ချက်ကို သတ်မှတ်ပါ။

xhttp.onreadystatechange = function()

ReadyState သည် 4 ဖြစ်ပြီး အခြေအနေ 200 ဖြစ်သောအခါ၊ တုံ့ပြန်မှုသည် အဆင်သင့်ဖြစ်သည်-

if (this.readyState == 4 && this.status == 200)

XMLHttpRequest Properties and Methods

Method Description
new XMLHttpRequest() Creates a new XMLHttpRequest object
open(method, url, async) Specifies the type of request
method: the type of request: GET or POST
url: the file location
async: true (asynchronous) or false (synchronous)
send() Sends a request to the server (used for GET)
send(string) Sends a request string to the server (used for POST)
onreadystatechange A function to be called when the readyState property changes
readyState The status of the XMLHttpRequest
0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready
status 200: OK
404: Page not found
responseText The response data as a string
responseXML The response data as XML data

Domains များကို ဖြတ်ကျော်ဝင်ရောက်ပါ။

လုံခြုံရေးအရ၊ ခေတ်မီဘရောက်ဆာများသည် ဒိုမိန်းများတစ်လျှောက် ဝင်ရောက်ခွင့်မပြုပါ။

ဆိုလိုသည်မှာ ဝဘ်စာမျက်နှာနှင့် ၎င်းတင်ရန်ကြိုးစားသော XML ဖိုင်နှစ်ခုစလုံးသည် တူညီသောဆာဗာပေါ်တွင် တည်ရှိနေရမည်ဖြစ်သည်။

W3Schools ပေါ်ရှိ နမူနာများသည် W3Schools ဒိုမိန်းတွင်ရှိသော ဖွင့်ထားသော XML ဖိုင်များအားလုံး။

အထက်ဖော်ပြပါ ဥပမာကို သင့်ကိုယ်ပိုင် ဝဘ်စာမျက်နှာတစ်ခုတွင် အသုံးပြုလိုပါက၊ သင်တင်သည့် XML ဖိုင်များသည် သင့်ကိုယ်ပိုင်ဆာဗာပေါ်တွင် တည်ရှိနေရပါမည်။


တုံ့ပြန်မှုစာသားပိုင်ဆိုင်မှု

တုံ့ပြန်မှုစာသားပိုင်ဆိုင်မှုသည် တုံ့ပြန်ချက်ကို စာကြောင်းတစ်ခုအဖြစ် ပြန်ပေးသည်။

တုံ့ပြန်ချက်ကို စာသားစာကြောင်းအဖြစ် အသုံးပြုလိုပါက၊ တုံ့ပြန်မှုစာသားပိုင်ဆိုင်မှုကို အသုံးပြုပါ-

ဥပမာ

document.getElementById("demo").innerHTML = xmlhttp.responseText;

တုံ့ပြန်မှုXML ပိုင်ဆိုင်မှု

တုံ့ပြန်မှု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;

ရယူပါ သို့မဟုတ် ပို့စ်တင်မလား။

GET သည် POST ထက် ပိုမိုရိုးရှင်းပြီး မြန်ဆန်ပြီး ကိစ္စအများစုတွင် အသုံးပြုနိုင်သည်။

သို့သော်၊ POST တောင်းဆိုချက်များကို အမြဲသုံးပါ-

  • ကက်ရှ်ဖိုင်သည် ရွေးချယ်စရာတစ်ခုမဟုတ်ပါ (ဆာဗာတွင် ဖိုင်တစ်ခု သို့မဟုတ် ဒေတာဘေ့စ်ကို အပ်ဒိတ်လုပ်ပါ)
  • ဆာဗာသို့ ဒေတာ အများအပြား ပေးပို့ခြင်း (POST တွင် အရွယ်အစား ကန့်သတ်ချက်များ မရှိပါ)
  • အသုံးပြုသူထည့်သွင်းမှုပေးပို့ခြင်း (အမည်မသိအက္ခရာများပါရှိသော) POST သည် GET ထက် ပိုမိုခိုင်မာပြီး လုံခြုံသည်။

url - ဆာဗာရှိ ဖိုင်တစ်ခု

open() method ၏ url parameter သည် server တစ်ခုပေါ်ရှိ ဖိုင်တစ်ခု၏လိပ်စာဖြစ်သည်-

xmlhttp.open("GET", "xmlhttp_info.txt", true);

ဖိုင်သည် .txt နှင့် .xml ကဲ့သို့သော ဖိုင်အမျိုးအစား သို့မဟုတ် .asp နှင့် .php ကဲ့သို့သော ဆာဗာ ဇာတ်ညွှန်းရေးဖိုင်များ (တုံ့ပြန်ချက်ကို ပြန်လည်မပေးပို့မီ ဆာဗာတွင် လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်သည်)။


Asynchronous - မှန်လား မှားသလား။

တောင်းဆိုချက်အား တပြိုင်နက်တည်း ပေးပို့ရန်အတွက် open() နည်းလမ်း၏ async ကန့်သတ်ဘောင်ကို အမှန်ဟု သတ်မှတ်ရပါမည်-

xmlhttp.open("GET", "xmlhttp_info.txt", true);

တောင်းဆိုချက်များကို တပြိုင်နက်တည်း ပေးပို့ခြင်းသည် ဝဘ်ဆော့ဖ်ဝဲရေးဆွဲသူများအတွက် ကြီးမားသောတိုးတက်မှုတစ်ခုဖြစ်သည်။ ဆာဗာပေါ်တွင် လုပ်ဆောင်ခဲ့သော အလုပ်များစွာသည် အချိန်ကုန်သည်။

အပြိုင်အဆိုင် ပေးပို့ခြင်းဖြင့်၊ JavaScript သည် ဆာဗာတုံ့ပြန်မှုကို စောင့်ရန် မလိုအပ်သော်လည်း၊

  • ဆာဗာတုံ့ပြန်မှုကိုစောင့်ဆိုင်းနေစဉ် အခြား script များကိုလုပ်ဆောင်ပါ။
  • တုံ့ပြန်မှုအဆင်သင့်ဖြစ်သောအခါ တုံ့ပြန်မှုကို ကိုင်တွယ်ပါ။

Async = မှန်သည်။

async = true ကိုအသုံးပြုသည့်အခါ၊ onreadystatechange event တွင် တုံ့ပြန်မှုအဆင်သင့်ဖြစ်သောအခါ လုပ်ဆောင်ရန် လုပ်ဆောင်ချက်တစ်ခုကို သတ်မှတ်ပါ-

ဥပမာ

xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
       document.getElementById("demo").innerHTML = this.responseText;
    }
};
xmlhttp.open("GET", "xmlhttp_info.txt", true);
xmlhttp.send();

Async = မှားယွင်းသော

async = false ကိုအသုံးပြုရန်၊ open() method တွင် တတိယ parameter ကို false သို့ပြောင်းပါ

xmlhttp.open("GET", "xmlhttp_info.txt", false);

async = false ကို အသုံးပြုခြင်းအား မထောက်ခံသော်လည်း အနည်းငယ်သော တောင်းဆိုမှုများအတွက် ၎င်းသည် ok နိုင်သည်။

ဆာဗာတုံ့ပြန်မှုအဆင်သင့်မဖြစ်မချင်း JavaScript သည် ဆက်လက်လုပ်ဆောင်မည်မဟုတ်ကြောင်း သတိရပါ။ ဆာဗာသည် အလုပ်များနေပါက သို့မဟုတ် နှေးပါက၊ အပလီကေးရှင်းသည် ရပ်သွားလိမ့်မည် သို့မဟုတ် ရပ်သွားမည်ဖြစ်သည်။

မှတ်ချက်- async = false ကို အသုံးပြုသောအခါ၊ onreadystatechange လုပ်ဆောင်ချက်ကို မရေးပါနှင့် - send() ထုတ်ပြန်ချက်ပြီးနောက် ကုဒ်ကို ထည့်လိုက်ရုံသာ။

ဥပမာ

xmlhttp.open("GET", "xmlhttp_info.txt", false);
xmlhttp.send();
document.getElementById("demo").innerHTML = xmlhttp.responseText;

XML Parser

ခေတ်မီဘရောက်ဆာများအားလုံးတွင် built-in XML parser တစ်ခုရှိသည်။

XML Document Object Model (XML DOM) တွင် XML ကို ဝင်ရောက် တည်းဖြတ်ရန် နည်းလမ်းများစွာ ပါရှိသည်။

သို့သော်၊ XML စာရွက်စာတမ်းကို မဝင်ရောက်မီ၊ ၎င်းကို XML DOM အရာဝတ္ထုတစ်ခုထဲသို့ တင်ရပါမည်။

XML parser သည် ရိုးရိုးစာသားကိုဖတ်နိုင်ပြီး ၎င်းကို XML DOM အရာဝတ္ထုအဖြစ်သို့ ပြောင်းနိုင်သည်။


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>

ဘရောက်ဆာဟောင်းများ (IE5 နှင့် IE6)

Internet Explorer ဗားရှင်းဟောင်း (IE5 နှင့် IE6) သည် XMLHttpRequest အရာဝတ္တုကို မပံ့ပိုးပါ။

IE5 နှင့် IE6 ကိုကိုင်တွယ်ရန်၊ ဘရောက်ဆာသည် XMLHttpRequest အရာဝတ္တုကို ပံ့ပိုးခြင်းရှိမရှိ စစ်ဆေးပါ၊ သို့မဟုတ်ပါက ActiveXObject ကို ဖန်တီးပါ-

ဥပမာ

if (window.XMLHttpRequest) {
    // code for modern browsers
    xmlhttp = new XMLHttpRequest();
 } else {
    // code for old IE browsers
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

Internet Explorer ဗားရှင်းဟောင်း (IE5 နှင့် IE6) သည် DOMParser အရာဝတ္တုကို မပံ့ပိုးပါ။

IE5 နှင့် IE6 ကိုကိုင်တွယ်ရန်၊ ဘရောက်ဆာသည် 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 ပါသည့် ဝဘ်စာမျက်နှာတစ်ခုမှ အချက်အလက်များကို ဒေတာဘေ့စ်တစ်ခုမှ ရယူနိုင်ပုံ။


ပြန်လည်ရယူရန် XMLHttp တောင်းဆိုချက်တစ်ခု ဖန်တီးပြီး XML ဖိုင်တစ်ခုမှ ဒေတာကို ရယူပြီး HTML ဇယားတစ်ခုတွင် ဒေတာကို ပြသရန်။