အောက်တွင်ဖော်ပြထားသော PHP နမူနာကုဒ်သည် XML_set_start_start_decller နှင့် XML_SESS_END_END_END_END_END_END_END_DECT_DECTS_DECL_Handler လုပ်ဆောင်ချက်များကို အသုံးပြု. PHP နမူနာကုဒ်ဖြစ်သည်။ XML ခွဲခြမ်းစိတ်ဖြာနေစဉ်အတွင်း namespace တစ်ခု၏ကြေငြာချက်တစ်ခုကိုမည်သို့ဖမ်းယူရမည်ကိုပြသသည်။
<?php
// ဖန်တီး XML မိစ်ဆာ
$parser = xml_parser_create();
// namespace ကြေငြာချက်၏အစအ ဦး မှာ callback function ကိုသတ်မှတ်ပါ
xml_set_start_namespace_decl_handler($parser, "startNamespaceHandler");
// namespace ကြေငြာချက်၏အဆုံးမှာ callback function ကိုသတ်မှတ်ပါ
xml_set_end_namespace_decl_handler($parser, "endNamespaceHandler");
// XML ကြိုး
$xml_data = <<<XML
<root xmlns:foo="http://gitbox.net/foo" xmlns:bar="http://gitbox.net/bar">
<foo:item>Item 1</foo:item>
<bar:item>Item 2</bar:item>
</root>
XML;
// သုံးသပ်ကြည့်ရှုခြင်း XML အချက်များ
if (!xml_parse($parser, $xml_data)) {
die(sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser)));
}
// 释放မိစ်ဆာ
xml_parser_free($parser);
// namespace ကြေငြာချက်၏အစအ ဦး မှာ callback function ကို
function startNamespaceHandler($parser, $prefix, $uri) {
echo "Namespace start: Prefix = {$prefix}, URI = {$uri}\n";
}
// namespace ကြေငြာချက်၏အဆုံးမှာ callback function ကို
function endNamespaceHandler($parser, $prefix) {
echo "Namespace end: Prefix = {$prefix}\n";
}
?>
XML parser တစ်ခုဖန်တီးပါ ။
XML parser ဥပမာအသစ်တစ်ခုကိုဖန်တီးရန် XML_Parser_Create () ကိုသုံးပါ။
namespace ကြေငြာချက်ပြန်ထည့်ပါ ။
xml_set_start_start_decller နှင့် xml_set_Ennames_handler နှင့် xml_set_Ennamespace_Decl_handler လုပ်ဆောင်ချက်များကို Namestace ကြေငြာချက်၏အစနှင့်အဆုံးအဆင့်များကိုအစနှင့်အဆုံးအဆင့်များကိုသတ်မှတ်ထားသည်။ ဤ callback function များကို parser သည် namespace ကြေငြာချက်ကိုတွေ့သောအခါအလိုအလျောက်ခေါ်ဆိုသည်။
xml အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာခြင်း -
xml_parse () function ကို parser သို့ parser သို့ parser သို့ဖြတ်သန်းပါ။ အမှားတစ်ခုကြုံတွေ့ရပါက XML_ERRORO_STRING () နှင့် XML_GET_CURRENT_LINE_NUMBERS () သည် အမှားအယွင်းများကိုကြည့်ရှုရန်ကူညီနိုင်သည်။
namespace အပြောင်းအလဲနဲ့ :
startnamespacehandler callback function သည် parameteration သုံးခုကိုလက်ခံရရှိသည်။ parser ဥပမာအားဖြင့် namespace ၏ရှေ့ဆက်နှင့် URL ။ namespace ကြေငြာချက်ကိုကြုံတွေ့ရသောအခါ namespace ၏ရှေ့ဆက်နှင့် URL ကိုထုတ်ပြန်သည်။
EnterDamespaceHandler Callback Function သည် parameter နှစ်ခုကိုရရှိသည်။ parser ဥပမာ၏ရှေ့ဆက်နှင့် namespace ၏ရှေ့ဆက် ၎င်းကို namespace ၏ရှေ့ဆက် outpix ကိုအပြီးသတ်ကြေငြာခြင်း၏အဆုံးတွင်ခေါ်လိမ့်မည်။
လက်တွေ့ကျသောအပလီကေးရှင်းများတွင် XML စာရွက်စာတမ်းများတွင် namespace ကြေငြာချက်များအမြတ်များစွာပါ 0 င်နိုင်သည်။
ဤ callback function နှစ်ခုသည်အားကောင်းသောယန္တရားတစ်ခုဖြစ်ပြီးရှုပ်ထွေးသော XML ဒေတာများကိုကိုင်တွယ်သောအခါအထူးသဖြင့်အသုံးဝင်သောအရာများ၏ခွဲခြမ်းစိတ်ဖြာမှုဖြစ်စဉ်ကိုတိကျစွာထိန်းချုပ်ရန်ခွင့်ပြုသည့်အစွမ်းထက်သောယန္တရားတစ်ခုပေးသည်။
XML_SET_STATT_STATT_STATTER_Handler နှင့် XML_SESSS_Handler ကိုပေါင်းစပ်ပြီး xml_set_end_end_EndeSt_Decl_Handler ကို ပေါင်းစပ်ပြီး xml စာရွက်စာတမ်းများကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ Namespace ကိုခွဲခြားသတ်မှတ်နိုင်ပြီးကြေငြာချက်များသည်တိကျမှန်ကန်စွာကိုင်တွယ်ဖြေရှင်းနိုင်ရန်ဖြစ်သည်။