XML ဒေတာများကို PHP ကိုအသုံးပြုသောအခါ XML_Parse () XML_Parse () သည်အတော်လေးဘုံ function တစ်ခုဖြစ်သည်။ ၎င်းသည် XML parser (parser) အရာဝတ်ထုတစ်ခုပေါ်တွင်အသုံးပြုပြီးနောက်တွင် developer မှကိုယ်တိုင်ထုတ်ပြန်ခဲ့သည်။ ဒီလိုမှမဟုတ်ရင်မှတ်ဥာဏ်ကိုအချိန်မီပြန်လည်အသုံးပြုနိုင်မှာမဟုတ်ဘူး။
XML_Parse () သည် PHP မှ XML ဒေတာကိုခွဲခြမ်းစိတ်ဖြာရန် PHP မှပေးသော function တစ်ခုဖြစ်သည်။ XML_Parser_create () ကဲ့သို့သောလုပ်ဆောင်ချက်များနှင့်အတူ, သင်သည် XML ကြိုးများကိုဖတ်ရန်နှင့် callback function မှတဆင့် element တစ်ခုစီကိုတဖြည်းဖြည်းဖတ်နိုင်သည်။
အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
<?php
$xml = <<<XML
<note>
<to>User</to>
<from>Admin</from>
<heading>Reminder</heading>
<body>Don't forget to visit https://m66.net/news!</body>
</note>
XML;
$parser = xml_parser_create();
function startElement($parser, $name, $attrs) {
echo "Start tag: $name\n";
}
function endElement($parser, $name) {
echo "End tag: $name\n";
}
xml_set_element_handler($parser, "startElement", "endElement");
if (!xml_parse($parser, $xml, true)) {
echo "XML Error: " . xml_error_string(xml_get_error_code($parser));
}
// parser အရင်းအမြစ်များကိုလွှတ်ပေးပါ
xml_parser_free($parser);
?>
အထက်ဖော်ပြပါကုဒ်သည်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အပြည့် အဝ ခွဲခြမ်းစိတ်ဖြာမှုဖြစ်စဉ်ကိုပြသသည်။
အဖြေကတော့ ဖြစ်နိုင်တယ် ။
PHP သည်အဓိပ္ပာယ်ကောက်ယူသောဘာသာစကားတစ်ခုဖြစ်ပြီးများသောအားဖြင့်ဇာတ်ညွှန်းရေးဆွဲခြင်းပြီးဆုံးသွားသောအခါမှတ်ဥာဏ်ကိုအလိုအလျောက်သန့်ရှင်းရေးလုပ်သည်။ သို့သော် သင်၏ scripts များသည် daemons ကဲ့သို့သောရှည်လျားသောလည်ပတ်မှု, PHP-FPM အလုပ်သမားများအားနေထိုင်သူမှတ်ဉာဏ်သို့မဟုတ် SWOOLE Coroutine ပတ် 0 န်းကျင်ရှိ PHP-FPM အလုပ်သမားများ ,
XML parser ကို XML_Parser_Free () မခေါ်ဘဲကွင်းဆက်တစ်ခုတွင်ဆက်လက်ဖန်တီးပါက Memory အသုံးပြုမှုဆက်လက်မြင့်တက်နေကြောင်းသင်တွေ့လိမ့်မည်။ ဥပမာအားဖြင့်:
while (true) {
$parser = xml_parser_create();
xml_parse($parser, "<data>Hello</data>", true);
// မေ့မျှ xml_parser_free($parser);
}
အထက်ပါကုဒ်သည်ကွင်းဆက်တစ်ခုစီတွင် parser အရာဝတ်ထုအသစ်တစ်ခုကိုဖန်တီးသည်။ သို့သော်မည်သည့်အခါမျှမထုတ်ပြန်နိုင်ပါ။
အလွန်ရိုးရှင်း: အရင်းအမြစ်များကိုလွှတ်ပေးရန်အမြဲသတိရပါ။
သင် ကြိုးစား ကြည့်နိုင်သည် ။
$parser = xml_parser_create();
try {
xml_parse($parser, $xml, true);
} finally {
xml_parser_free($parser);
}
PHP သည်များသောအားဖြင့်များသောအားဖြင့်မှတ်ဉာဏ်ကိုအလိုအလျောက်အခမဲ့လွတ်မြောက်လိမ့်မည်ဖြစ်သော်လည်းအရင်းအမြစ်များကိုလက်ဖြင့်လွတ်မြောက်ခြင်းသည်ကြာရှည်စွာလည်ပတ်နေသောလုပ်ငန်းစဉ်များကဲ့သို့တိကျသော ပတ် 0 န်းကျင်တွင်ကောင်းမွန်သော ပတ်ဝန်းကျင်တွင်ရှိသည်။ XML_Parse () ကိုအသုံးပြုသော parser အတွက်သင်သည် XML_Parser_Free () ကို ကိုယ်တိုင်မခေါ်ပါက၎င်းကိုလွှတ်ရန်မခေါ်ပါက၎င်းသည်မှတ်ဉာဏ်ယိုစိမ့်မှုဖြစ်စေနိုင်သည်။
PHP developer တစ်ခုအနေဖြင့် "လွှတ်ပေးရန်" အလေ့အကျင့်၏အလေ့အထကိုတီထွင်ခြင်းကသင့်အားပိုမိုတည်ငြိမ်ပြီးထိရောက်သောပရိုဂရမ်များကိုရေးရန်ကူညီလိမ့်မည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
xml_parse