XML ခွဲခြမ်းစိတ်ဖြာမှုအတွက် PHP ကိုအသုံးပြုသောအခါသင်သည်တစ်ခါတစ်ရံတွင် Namespace ကြေငြာချက်၏အဆုံးကိုကိုင်တွယ်ရန်လိုအပ်သည့်အခြေအနေများနှင့်ကြုံတွေ့ရသည်။ ဤအခြေအနေတွင် XML_SET_ENT_Ennamnonface_Decl_Handler function သည် callback function ကိုမှတ်ပုံတင်ပြီး Namespace ကြေငြာချက်၏အဆုံးကိုကိုင်တွယ်ရန်ကူညီနိုင်သည်။ သို့သော်, XML_SESSSED_ENDERNAMNERM_ENNERNAMBAND_DECLECL_Handler ကို Callback function တွင်မည်သို့မှန်ကန်စွာအသုံးပြုရမည်နည်း။ ဤဆောင်းပါးသည်၎င်းကိုသင့်အတွက်အသေးစိတ်လေ့လာလိမ့်မည်။
XML_set_Ennamespace_Decl_handler သည် PHP တွင် XML parser function ဖြစ်သည်။ XML document တွင် NamPlace ကြေငြာချက်၏အဆုံးတွင်ခေါ်ဆိုမည့် callback function ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ ဤလုပ်ဆောင်ချက်သည် XML စာရွက်စာတမ်းများတွင် Namespace ကြေငြာစာတမ်းအဆုံးသတ်သောအခါကွပ်မျက်ရန်လိုအပ်သောအလုပ်များကိုကိုင်တွယ်ရန်အဓိကအားဖြင့်အသုံးပြုသည်။
Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
bool xml_set_end_namespace_decl_handler ( resource $parser , callable $handler )
$ parser : ဤသည် XML_Parser_create function မှတဆင့်ဖန်တီးထားသော XML parser အရင်းအမြစ်လက်ကိုင်တစ်ခုဖြစ်သည်။
$ handler - ဤသည်မှာ namespace ကြေငြာချက်၏အဆုံးတွင်ခေါ်ဆိုမှုကိုခေါ်ဆိုမှု function ကိုဖြစ်သည်။ Callback function သည် parametersk သုံးခုကိုလက်ခံသည် - လက်ရှိဖြေရှင်းထားသော namespace ရှေ့ဆက်ရှေ့ဆက်နှင့် namespace ၏ Uri နှင့် namespace နှင့်သက်ဆိုင်သောအချက်အလက်များသည် parameter သုံးခုကိုလက်ခံသည်။
xml_set_end_ennamnamespace_Decl_Handler ကို ဘယ်လိုသုံးရမလဲဆိုတာကိုပိုမိုနားလည်အောင်ဘယ်လိုနားလည်ရအောင်,
ကျွန်ုပ်တို့သည် XML ဖိုင်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် XML ဖိုင်တွင် namespace ကိုသုံးနေသည်ဆိုပါစို့။ Callback function တွင်ကျွန်ုပ်တို့သည်အဆုံးတစ်ခုစီအတွက် Namespace ကြေငြာချက်ကိုထုတ်ယူလိုပါသည်။
<?php
// ဖန်တီး XML မိစ်ဆာ
$parser = xml_parser_create();
// Callback function ကိုသတ်မှတ်ပါ,namespace ကြေငြာချက်အဆုံးသတ်
function end_namespace_decl($prefix, $uri, $namespaceInfo) {
echo "namespace ၏အဆုံး:Prefix: " . $prefix . " URI: " . $uri . "\n";
// ပိုပြီးစစ်ဆင်ရေးဒီမှာလုပ်နိုင်ပါတယ်,ဥပမာအားဖြင့်, namespace အချက်အလက်ကိုဒေတာဘေ့စ်သို့သိမ်းပါ
}
// callback function ကိုမှတ်ပုံတင်ပါ
xml_set_end_namespace_decl_handler($parser, 'end_namespace_decl');
// သုံးသပ်ကြည့်ရှုခြင်း XML ကေြနပ်သော
$xml_data = <<<XML
<root xmlns:ns="http://gitbox.net/ns">
<ns:item>Item 1</ns:item>
</root>
XML;
xml_parse($parser, $xml_data);
xml_parser_free($parser);
?>
Parser ကိုဖန်တီးပါ ။ XML parser အရင်းအမြစ် $ parser ကိုဖန်တီးရန် XML_Parser_Create ကိုကျွန်ုပ်တို့အသုံးပြုသည်။
CallBack function ကိုသတ်မှတ်ခြင်း - End_namespace_Decl သည် Namespace အဆုံးကြေငြာချက်ကိုကြုံတွေ့ရတိုင်းအချိန်တိုင်းကျွန်ုပ်တို့သတ်မှတ်သည့် callback function ဖြစ်သည်။ Parameters သုံးခုကိုလက်ခံသည်။ Namespace ရှေ့ဆက်, namespace uri နှင့် namespace နှင့်ဆက်စပ်သောသတင်းအချက်အလက်များကိုလက်ခံသည်။
callback function ကိုမှတ်ပုံတင်ပါ ။ XML_Set_end_end_Ennamespace_Decl_handler ကိုမှတ်ပုံတင်ပါ။ ဒါကြောင့် Namespace ကြေငြာချက်ပြီးသွားရင် End_namespace_Decl ကို ခေါ်မယ်။
Parse XML အချက်အလက်များ - XML_Parse ကို သုံးပါ XML အကြောင်းအရာများကိုခွဲခြမ်းစိတ်ဖြာရန်ဤနေရာတွင် NAMSMARE တွင် XML ဥပမာတစ်ခုကိုအသုံးပြုသည်။
Parser အရင်းအမြစ်များကိုလွှတ်ပေးရန် - Parser အရင်းအမြစ်များကိုလွှတ်ရန် XML_Parser_Free ကို သုံးပါ။
xml_set_end_ennamonfack_Decl_Handler ကို အသုံးပြုသောအခါသာမန်အမှားများသည်များသောအားဖြင့် parameter type သို့မဟုတ်ပြန်ပို့ခြင်း၏တန်ဖိုးနှင့်ဆက်စပ်မှုရှိသည်။ Callback function ကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်သည်စာရွက်စာတမ်းမှလိုအပ်သော parametersters နှင့်ကိုက်ညီကြောင်းသေချာပါစေ။ XML_SESS_END_ENDOMPace_Decl_Handler ၏ callback function ကိုမှန်ကန်စွာသတ်မှတ်ထားပြီး XML အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာပြီးနောက်အရင်းအမြစ်ကိုမှန်ကန်စွာအခမဲ့ချထားပါ။
XML_SESS_END_ENDERSPASS_DECL_Handler သည် XML ကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ Namespace ကြေငြာချက်၏အဆုံးကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည့်အလွန်အသုံးဝင်သော PHP function ဖြစ်သည်။ ၎င်းကိုအသုံးပြုသောအခါ callback function ကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်သည်လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးပြီးခွဲခြမ်းစိတ်ဖြာခြင်းပြီးဆုံးပြီးနောက် parser အရင်းအမြစ်များကိုလွှတ်ပေးရန်သေချာအောင်လုပ်ပါ။
ဤဆောင်းပါး၏ပုံနမူနာများနှင့်ရှင်းလင်းချက်များမှတဆင့် Xml_set_end_end_ennamnames_Decl_Handler ကို မည်သို့မှန်ကန်စွာအသုံးပြုရမည်ကိုကျွန်ုပ်ယုံကြည်သည်။ XML ခွဲခြမ်းစိတ်ဖြာမှုကာလအတွင်း Namespace ကြေငြာချက်၏အဆုံးကိုအောင်မြင်စွာကိုင်တွယ်နိုင်လိမ့်မည်ဟုကျွန်ုပ်ယုံကြည်သည်။