လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> xml_set_end_ennamespace_Decl_handler ကို သုံး. XML ရှိ Namespace ကြေငြာချက်ကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။

xml_set_end_ennamespace_Decl_handler ကို သုံး. XML ရှိ Namespace ကြေငြာချက်ကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။

gitbox 2025-05-26

XML parsing စဉ်အတွင်း XML စာရွက်စာတမ်းများကို namespace များစွာဖြင့် XML စာရွက်စာတမ်းများကိုထုတ်ယူရန်အတွက် Namespace ကြေငြာချက်များသည်မရှိမဖြစ်လိုအပ်သည်။ PHP's XML_SESSESS_Ennames_Decl_handler function သည် namespace ကြေငြာချက်၏အဆုံးကိုကိုင်တွယ်ရန်အသုံးပြုသော callback function ကိုဖြစ်သည်။ ၎င်းသည် developer များ parsing လုပ်ငန်းစဉ်အတွင်း namespace ကြေငြာချက်၏အဆုံးကိုသိမ်းပိုက်ရန်နှင့်လိုအပ်သောအနိမ့်အမြင့်ကိုပြုလုပ်ရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် xml_set_end_ennamonface_Decl_Handler function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပါမည်။

1 ။ xml_set_end_ennamespace_decl_handler function ကိုမိတ်ဆက်ခြင်း

XML_SESS_END_EnD_EDSPASTA_DECL_HANDER သည် XML document တွင် Namespace ကြေငြာချက်အဆုံးသတ်သောအခါဖုန်းခေါ်ဆိုခြင်းလုပ်ငန်းကိုတည်ဆောက်မည့် XML parsing function ဖြစ်သည်။ XML elements အတွက် XML elements အတွက်ထူးခြားသောအမှတ်အသားများကိုကွဲပြားခြားနားသော XML စာရွက်စာတမ်းများတွင်မတူကွဲပြားသော XML စာရွက်စာတမ်းများမှရှောင်ရှားရန် NAML Elements များအတွက်ထူးခြားသောအမှတ်အသားများပေးရန်အသုံးပြုသည်။

2 ။ လုပ်ဆောင်ချက်အသုံးပြုမှု

xml_set_end_ennamespace_Decl_handler လုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 bool xml_set_end_namespace_decl_handler ( resource $parser , callable $handler )
  • $ Parser : XML_Parser_Create ဟုခေါ်ဆိုခြင်းဖြင့်ဖန်တီးထားသော XML parser အရင်းအမြစ်။

  • $ handler : namespace ကြေငြာချက်အဆုံးသတ်သည့်အခါဟုခေါ်သော callback function ကို။

callback function ကို parameters နှစ်ခုကိုလက်ခံသည်:

  1. $ Parser : XML parser အရင်းအမြစ်။

  2. $ ရှေ့ဆက် : ရှေ့ဆက်မရှိတော့ပါကရှေ့ဆက်မရှိလျှင်အချည်းနှီးသော string ကိုပြန်ပို့သည်။

  3. $ URI : namespace ၏ Uri ။

3 ။ နမူနာကုဒ်

XML ကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ namespace ကြေငြာချက်အဆုံးသတ်သည့်အဖြစ်အပျက်တစ်ခုကိုမည်သို့ဖမ်းယူရမည်ကိုပြသသော xml_set_end_end_decl_handler ကို အသုံးပြု. ဥပမာတစ်ခုရှိသည်။

 <?php
// ဖန်တီး XML မိစ်ဆာ
$parser = xml_parser_create();

// namespace ကြေငြာချက်အဆုံးသတ်ရေးကိုကိုင်တွယ်ရန် callback function ကိုသတ်မှတ်ပါ
function endNamespaceHandler($parser, $prefix, $uri) {
    echo "namespace ကြေညာချက်အဆုံးသတ်:ရေှ့ဆက်တဲှ = '$prefix', URI = '$uri'\n";
}

// 设置namespace ကြေညာချက်အဆုံးသတ်事件的回调函数
xml_set_end_namespace_decl_handler($parser, "endNamespaceHandler");

// simulated XML အချက်များ
$xml_data = '<?xml version="1.0" encoding="UTF-8" ?>
<root xmlns:ns="http://gitbox.net/namespace">
    <ns:element>ကေြနပ်သော</ns:element>
</root>';

// သုံးသပ်ကြည့်ရှုခြင်း XML အချက်များ
if (!xml_parse($parser, $xml_data, true)) {
    echo "XML သုံးသပ်ကြည့်ရှုခြင်း错误: " . xml_error_string(xml_get_error_code($parser));
} else {
    echo "XML သုံးသပ်ကြည့်ရှုခြင်း成功。\n";
}

// 释放မိစ်ဆာ资源
xml_parser_free($parser);
?>

4 ။ code ခွဲခြမ်းစိတ်ဖြာ

ဤကုဒ်တွင် XML parser အရင်းအမြစ်ကို XML_Parser_Create မှတဆင့်ပထမ ဦး ဆုံးဖန်တီးပါ။ ထို့နောက်ကျွန်ုပ်တို့သည် EntnamespaceHandler function ကို callback function အဖြစ်သတ်မှတ်သည်, ၎င်းကို Namespace ကြေငြာချက်၏အဆုံးတွင်ဖြစ်သည်။ ဒီ callback function ကိုလက်ခံရရှိသော namespace ၏ရှေ့ဆက်နှင့် URI ကိုကိုယ်စားပြုသော parameter နှစ်ခု ရှေ့ဆက် နှင့် URI ကို လက်ခံရရှိသည်။

ထို့နောက် XML_SESSSESS_ENDNAMNERNAMNERNOME_DECL_Handler ကို parser သို့ callback function ကိုချည်နှောင်ရန်အသုံးပြုသည်။ ထို့နောက်ကျွန်ုပ်တို့သည် XML data တစ်ခုဖြစ်ပြီး Namespace ကြေငြာချက်ကိုထုတ်လွှင့်ပြီး XML_Parse function ကို အသုံးပြု. ခွဲခြမ်းစိတ်ဖြာခြင်းကိုစတင်သည်။ ခွဲခြမ်းစိတ်ဖြာပြီးနောက်, အမှားမရှိပါကကျွန်ုပ်တို့သည်အောင်မြင်စွာခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် parser အရင်းအမြစ်ကိုထုတ်လွှတ်ကြောင်းမက်ဆေ့ခ်ျကိုထုတ်ပေးသည်။

5 ။ namespace ကြေငြာချက်နှင့်အဆုံးဖြစ်ရပ်

အထက်ဖော်ပြပါဥပမာတွင် Namespace ကြေငြာချက်ပါ 0 င်သည့် XML အချက်အလက်များကိုအသုံးပြုသည်။ XML ရှိ NAMSTARE ကြေငြာချက်များသည်များသောအားဖြင့် root element ၏ XMLNS attribute တွင်ဖော်ပြထားသည်။ ဤဥပမာတွင် XMLNS: NS = "http://gitbox.net/nnameption" ကို အသုံးပြုခဲ့သည်

XML parser သည် end tag ကို </ root> ၏ end tag ကိုခွဲခြမ်းစိတ်ဖြာသောအခါ XML_SET_END_Ennamnes_decl_handler မှမှတ်ပုံတင်ထားသော callback function ကိုခေါ်ယူလိမ့်မည်။

 namespace ကြေညာချက်အဆုံးသတ်:ရေှ့ဆက်တဲှ = 'ns', URI = 'http://gitbox.net/namespace'

6 ။ မှတ်စုဖို့အရာ

  • xml_set_end_endnamespace_Decller function ကိုအသုံးပြုသောအခါ parser ကိုဖန်တီးပြီးခွဲထုတ်စဉ်အတွင်း callback function ကိုမှန်ကန်စွာသတ်မှတ်ထားကြောင်းသေချာစေပါ။

  • callback function သည် PHP callback function လိုအပ်ချက်များနှင့်ကိုက်ညီရမည်, ဆိုလိုသည်မှာ၎င်းသည် function name, အမည်မသိ function တစ်ခုသို့မဟုတ်အရာဝတ်ထုနည်းလမ်းဖြစ်နိုင်သည်။

  • XML_Parse function သည် XML ဒေတာများကိုမှန်ကန်စွာလုပ်ဆောင်ရန်သေချာစေရန် parsback function ကိုဖြစ်ပေါ်စေလိမ့်မည်။

7 ။ အကျဉ်းချုပ်

XML_SESS_END_ENDOST_DECTS_Handler သည် Developer များအား XML စာရွက်စာတမ်းများခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်း Namespace ကြေငြာချက်များ၏အဆုံးသတ်ကြေညာချက်များကိုအဆုံးသတ်ရန်အထောက်အကူပြုသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းအားဖြင့် XML စာရွက်စာတမ်းများတွင် granular control ကိုထိ မိ. အသုံးချနိုင်သည်။ ဤဆောင်းပါးတွင်ဥပမာများနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့် PHP တွင် XML တွင် Namespace ကြေငြာစာတမ်းများကိုမည်သို့ကိုင်တွယ်ရမည်ကိုပိုမိုနားလည်နိုင်သည်။