လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> မပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက် XML ဒေတာစီးဆင်းမှုအမှားများကိုကိုင်တွယ်ရန် XML_GEget_error_code function ကိုအသုံးပြုနည်း။

မပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက် XML ဒေတာစီးဆင်းမှုအမှားများကိုကိုင်တွယ်ရန် XML_GEget_error_code function ကိုအသုံးပြုနည်း။

M66 2025-06-14

PHP တွင် XML ဒေတာများကိုလုပ်ဆောင်သောအခါ, သင်သည်မပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက် XML data streams များကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ အကယ်. ဤအမှားများကိုအချိန်မီသိမ်းဆည်းခြင်းနှင့်လုပ်ငန်းများ၌မလုပ်ဆောင်ပါက၎င်းတို့သည်ပရိုဂရမ်ပျက်ကျမှုသို့မဟုတ်အချက်အလက်များကိုပျက်ကွက်ခြင်းများဖြစ်လိမ့်မည်။ XML_GEget_error_code function သည် developer များက XML ခွဲခြမ်းစိတ်ဖြာမှုတွင်အမှားအယွင်းများကိုရှာဖွေတွေ့ရှိရန်ကူညီပေးနိုင်သည့်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။

ဤဆောင်းပါးသည် XML_Get_error_code ၏အခြေခံအသုံးပြုမှုကိုမိတ်ဆက်ပေးပြီးမပြည့်စုံသော XML ဒေတာစီးဆင်းမှုအမှားများကိုမပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက်ခြစားမှုများကိုမည်သို့ကိုင်တွယ်ဖြေရှင်းရမည်ကိုဥပမာသုံးပါလိမ့်မည်။


1 ။ xml_get_error_code ကဘာလဲ။

XML_Get_error_code သည် PHP ၏ XML Parser (LibxMl) တွင်နောက်ဆုံး XML ခွဲခြမ်းစိတ်ဖြာစစ်ဆင်ရေးတွင်ဖြစ်ပွားခဲ့သောအမှားကုဒ်ကိုရရှိစေရန်ထောက်ပံ့ပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်များကိုများသောအားဖြင့် xml_parser_create နှင့် XML_Parse functions များဖြင့်အသုံးပြုသည်။

XML ဒေတာများသည်မပြည့်စုံသောသို့မဟုတ်အဂတိလိုက်စားမှုဖြစ်သည့်အခါ parser သည်အမှားတစ်ခုပြုလုပ်လိမ့်မည်။ XML_Get_error_code က အမှားကုဒ်များကိုရယူရန်ခွင့်ပြုသည်။


2 ။ XML_GEGET_ERROR_ERRORE_CODE ၏အခြေခံအသုံးပြုမှု

XML_Get_error_code သည် XML parser အရင်းအမြစ်လက်ကိုင်ကို parameter တစ်ခုအဖြစ်ဖြတ်သန်းရန်နှင့်ကိန်းဂဏန်းအမှားကုဒ်ကိုပြန်ပို့ရန်လိုအပ်သည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 int xml_get_error_code ( resource $parser )

နောက်ဆုံးခွဲခြမ်းစိတ်ဖြာမှုတွင်အမှားမရှိပါကပြန်လည်တန်ဖိုးသည် 0 ဖြစ်သည်။


3 ။ မပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက်ခြစားမှုများကိုကိုင်တွယ်ရန်နမူနာကုဒ်

အမှားအယွင်းများကိုကိုင်တွယ်ရန် 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 နှင့်သက်ဆိုင်ရာအမှားကုဒ်နှင့်အမှားအယွင်းများကိုထုတ်ဖော်ပြသလိမ့်မည်။


4 ။ သာမန်အမှားကုဒ်များနှင့်အဓိပ္ပါယ်များ

ဘုံအမှားကုဒ်များနှင့်၎င်းတို့၏အဓိပ္ပါယ်များတွင် -

  • 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- အသုံးပြုမှုကိုကြည့်ပါ။


5 ။ ပိုမိုတိကျသောအမှား positioninging အောင်မြင်ရန်အမှားအနေအထားကိုပေါင်းစပ်ခြင်း

အမှားကုဒ်များကိုရယူခြင်းအပြင် 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);
?>

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

XML_Get_error_code သည် မပြည့်စုံသောသို့မဟုတ်အကျင့်ပျက် XML data streams များကိုကိုင်တွယ်သောအခါအစွမ်းထက်သောအထောက်အကူဖြစ်သည်။ အမှားကုဒ်များကိုရယူခြင်းနှင့်အမှားနေရာများကိုပေါင်းစပ်ခြင်းအားဖြင့်ပြ problems နာများသည်လျင်မြန်စွာတည်ရှိပြီးအစီအစဉ်တည်ငြိမ်မှုနှင့်အသုံးပြုသူအတွေ့အကြုံတိုးတက်ကောင်းမွန်လာနိုင်သည်။

အချက်အလက်ခြွင်းချက်များကြောင့် System Crash သို့မဟုတ်ဒေတာဆုံးရှုံးမှုကိုရှောင်ရှားရန် XML ဒေတာ၏ခွဲခြမ်းစိတ်ဖြာခြင်းကိုရှောင်ရှားရန် XML ဒေတာ၏ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပတ်သက်သည့်အပြည့်အ 0 လုပ်ဆောင်ချက်များကိုသိမ်းဆည်းခြင်း,