PHP တွင် XML ဒေတာများကိုလုပ်ဆောင်သောအခါ, သင်သည်မပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက် XML data streams များကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ အကယ်. ဤအမှားများကိုအချိန်မီသိမ်းဆည်းခြင်းနှင့်လုပ်ငန်းများ၌မလုပ်ဆောင်ပါက၎င်းတို့သည်ပရိုဂရမ်ပျက်ကျမှုသို့မဟုတ်အချက်အလက်များကိုပျက်ကွက်ခြင်းများဖြစ်လိမ့်မည်။ XML_GEget_error_code function သည် developer များက XML ခွဲခြမ်းစိတ်ဖြာမှုတွင်အမှားအယွင်းများကိုရှာဖွေတွေ့ရှိရန်ကူညီပေးနိုင်သည့်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။
ဤဆောင်းပါးသည် XML_Get_error_code ၏အခြေခံအသုံးပြုမှုကိုမိတ်ဆက်ပေးပြီးမပြည့်စုံသော XML ဒေတာစီးဆင်းမှုအမှားများကိုမပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက်ခြစားမှုများကိုမည်သို့ကိုင်တွယ်ဖြေရှင်းရမည်ကိုဥပမာသုံးပါလိမ့်မည်။
XML_Get_error_code သည် PHP ၏ XML Parser (LibxMl) တွင်နောက်ဆုံး XML ခွဲခြမ်းစိတ်ဖြာစစ်ဆင်ရေးတွင်ဖြစ်ပွားခဲ့သောအမှားကုဒ်ကိုရရှိစေရန်ထောက်ပံ့ပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်များကိုများသောအားဖြင့် xml_parser_create နှင့် XML_Parse functions များဖြင့်အသုံးပြုသည်။
XML ဒေတာများသည်မပြည့်စုံသောသို့မဟုတ်အဂတိလိုက်စားမှုဖြစ်သည့်အခါ parser သည်အမှားတစ်ခုပြုလုပ်လိမ့်မည်။ XML_Get_error_code က အမှားကုဒ်များကိုရယူရန်ခွင့်ပြုသည်။
XML_Get_error_code သည် XML parser အရင်းအမြစ်လက်ကိုင်ကို parameter တစ်ခုအဖြစ်ဖြတ်သန်းရန်နှင့်ကိန်းဂဏန်းအမှားကုဒ်ကိုပြန်ပို့ရန်လိုအပ်သည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
int xml_get_error_code ( resource $parser )
နောက်ဆုံးခွဲခြမ်းစိတ်ဖြာမှုတွင်အမှားမရှိပါကပြန်လည်တန်ဖိုးသည် 0 ဖြစ်သည်။
အမှားအယွင်းများကိုကိုင်တွယ်ရန် XML_GEget_error_code ကို အသုံးပြု. PHP ဥပမာတစ်ခုမှာဤတွင်ဖြစ်သည်။ ပုံသက်သေတွင်ကျွန်ုပ်တို့သည်အကျင့်ပျက်ခြစားမှုများကိုတမင်တကာ XML string ကိုတမင်တကာဖြတ်ကျော်။ အမှားကုဒ်နံပါတ်ကိုရိုက်ကူးပါ။
<?php
$xmlData = '<root><item>Test</item><item>Broken'; // မစုံလင်သော XML
$parser = xml_parser_create();
if (!xml_parse($parser, $xmlData, true)) {
$errorCode = xml_get_error_code($parser);
echo "XMLအမှားခွဲခြမ်းစိတ်ဖြာခြင်း,အမှားကုဒ်:" . $errorCode . "\n";
// လွန်နိုင်ပါတယ် error_string function ကိုအမှားဖော်ပြချက်ရယူပါ
$errorString = xml_error_string($errorCode);
echo "အမှားဖော်ပြချက်:" . $errorString . "\n";
} else {
echo "XMLအောင်မြင်သောခွဲခြမ်းစိတ်ဖြာ!";
}
xml_parser_free($parser);
?>
အထက်ပါကုဒ်ကိုအကောင်အထည်ဖော်ပြီးနောက်ပရိုဂရမ်သည်မပြည့်စုံသော XML နှင့်သက်ဆိုင်ရာအမှားကုဒ်နှင့်အမှားအယွင်းများကိုထုတ်ဖော်ပြသလိမ့်မည်။
ဘုံအမှားကုဒ်များနှင့်၎င်းတို့၏အဓိပ္ပါယ်များတွင် -
1 ( xml_error_no_memory ) - မှတ်ဥာဏ်မလုံလောက်ပါ
2 ( xml_error_syntax ): Syntax အမှား
3 ( xml_error_no_elements ) - ဒြပ်စင်မရှိပါ
4 ( xml_error_invalid_token ): မမှန်ကန်သော tag
5 ( xml_error_unclated_token ): tag ကိုမပိတ်ထားပါ
6 ( xml_error_partial_char ): တစ်စိတ်တစ်ပိုင်းဇာတ်ကောင်
7 ( xml_error_tag_mag_mag_mismatch ): Tag Mismatch
... (အသေးစိတ်အမှားကုဒ်များအတွက် M66.net/manual/en/en/function.xml- အသုံးပြုမှုကိုကြည့်ပါ။
အမှားကုဒ်များကိုရယူခြင်းအပြင် PHP သည် XML_GEget_current_line_cumber_cumber_cumber_cumber_cumber_cumbrent_columumn_number ကို ပေးနိုင်သည်။ ဤလုပ်ဆောင်မှုများကိုပေါင်းစပ်ခြင်းသည်အမှားအယွင်းဖြစ်စေသည့်တိကျသောအတန်းများ၏နေရာချထားမှုကိုလွယ်ကူချောမွေ့စေသည်။
<?php
$xmlData = '<root><item>Test</item><item>Broken';
$parser = xml_parser_create();
if (!xml_parse($parser, $xmlData, true)) {
$errorCode = xml_get_error_code($parser);
$errorString = xml_error_string($errorCode);
$line = xml_get_current_line_number($parser);
$column = xml_get_current_column_number($parser);
echo "XMLအမှားခွဲခြမ်းစိတ်ဖြာခြင်း,အမှားကုဒ်:$errorCode\n";
echo "အမှားဖော်ပြချက်:$errorString\n";
echo "အဆိုပါအမှားထဲမှာဖြစ်ပွားခဲ့သည် $line အိုကေ,1 ။ $column စာရင်း\n";
} else {
echo "XMLအောင်မြင်သောခွဲခြမ်းစိတ်ဖြာ!";
}
xml_parser_free($parser);
?>
XML_Get_error_code သည် မပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက် XML data streams များကိုကိုင်တွယ်သောအခါအစွမ်းထက်သောအထောက်အကူဖြစ်သည်။ အမှားကုဒ်များကိုရယူခြင်းနှင့်အမှားနေရာများကိုပေါင်းစပ်ခြင်းအားဖြင့်ပြ problems နာများသည်လျင်မြန်စွာတည်ရှိပြီးအစီအစဉ်တည်ငြိမ်မှုနှင့်အသုံးပြုသူအတွေ့အကြုံတိုးတက်ကောင်းမွန်လာနိုင်သည်။
အချက်အလက်ခြွင်းချက်များကြောင့် System Crash သို့မဟုတ်ဒေတာဆုံးရှုံးမှုကိုရှောင်ရှားရန် XML ဒေတာ၏ခွဲခြမ်းစိတ်ဖြာခြင်းကိုရှောင်ရှားရန် XML ဒေတာ၏ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပတ်သက်သည့်အပြည့်အ 0 လုပ်ဆောင်ချက်များကိုသိမ်းဆည်းခြင်း,