PHP ကိုအသုံးပြုပြီး XML ဖိုင်များကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါသင်သည်ဇာတ်ကောင် encoding ပြ problems နာများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ဤပြ problems နာများကိုများသောအားဖြင့် xml ဖိုင်တွင်စာလုံးများကို php ကြိုးများသို့မှန်ကန်စွာပြောင်းလဲခြင်းမပြုနိုင်ပါ။ ဤအချိန်တွင် XML_GEget_error_code function သည်အလွန်အရေးကြီးသည်။ ၎င်းသည်အမှားကုဒ်များကိုဖမ်းယူနိုင်ပြီးဇာတ်ကောင် encoding ပြ problems နာများကိုဆန်းစစ်ရန်ကူညီနိုင်သည်။
အက်ခရာ encoding ပြ problems နာများကိုများသောအားဖြင့်အောက်ပါရှုထောင့်များတွင်ရောင်ပြန်ဟပ်သည်။
Set Mischatch : XML ဖိုင်မှကြေငြာထားသောဇာတ်ကောင်အစုံသည်အမှန်တကယ်အကြောင်းအရာများ၏ဇာတ်ကောင်အစုံနှင့်မကိုက်ညီပါ။
ပျောက်ဆုံးနေသော encoding siedation : xml ဖိုင်သည် encoding method ကိုကြေငြာခြင်းမရှိသေးပါ။
စံမဟုတ်သောဇာတ်ကောင်များ - ဖိုင်တွင်တရားမ 0 င်သို့မဟုတ်ပုံမှန်မဟုတ်သောအက္ခရာများပါ 0 င်သည်။
ဤပြ problems နာများသည် PHP သည်မှားယွင်းသောဇာတ်ကောင်အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါသို့မဟုတ်ထုတ်လုပ်သည့်အခါအမှားများကိုမှားယွင်းစေသည်။
XML_GEget_error_code သည် XML parsing အမှားကုဒ်များကိုရရှိရန်အသုံးပြုသော PHP function တစ်ခုဖြစ်သည်။ ၎င်းသည် XMPLARESER အတန်းအစား၏အဖွဲ့ဝင် function နှင့်သက်ဆိုင်သည်။ XML ခွဲခြမ်းစိတ်ဖြာနေစဉ်အတွင်းအမှားတစ်ခုဖြစ်ပါကပြ the နာကိုကျွန်ုပ်တို့ရှာဖွေရန်အတွက်အမှားအမျိုးအစားကိုမေးမြန်းရန်အသုံးပြုနိုင်သည်။
XML_GEget_error_code မှမှားယွင်းသောအမှားကုဒ်သည် developer များကအမှားများ၏တိကျသောအကြောင်းရင်းကိုသိရှိရန်နှင့်ပစ်မှတ်ထားသောပုံစံဖြင့်ပြင်ဆင်ရန်ကူညီနိုင်သည်။ အကယ်. XML ဖိုင်ကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ encoding ပြ problem နာတစ်ခုဖြစ်ပါကများသောအားဖြင့်ပြန်လာသောအမှားကုဒ်သည် encoding နှင့်သက်ဆိုင်သောအမှားတစ်ခုဖြစ်သည်။
int xml_get_error_code ( resource $parser )
$ Parser - XML_Parser_Create ကို သုံး. parser ကိုဖန်တီးသောအခါရရှိသော xml parser အရင်းအမြစ်တစ်ခုရရှိသော။
ဤလုပ်ဆောင်ချက်သည်လက်ရှိ parser ၏အမှားကုဒ်ကိုကိုယ်စားပြုသောကိန်းတစ်ခုသို့ပြန်ပို့သည်။ ဘုံအမှားကုဒ်များတွင် -
XML_ERROROR_NONE : အမှားအယွင်းမရှိပါ။
XML_ERROR_NO_MEMORY - မှတ်ဥာဏ်မလုံလောက်ပါ။
XML_ERRORO_SSYNTAX : syntax အမှား။
XML_ERROR_INVALID_TAKE_TOMED : မမှန်ကန်သော tag ။
XML_ERROR_UNCLOTOTED_TOMED : unclosed tag ကို။
XML_ERROR_Junk_AFTER_DOC_ELEC_ELEC_ELEC_ELECTOMETED : DOCCHED ဒြပ်စင်ပြီးနောက်အမှိုက်သရိုက်ဒေတာ။
XML ဖိုင်၏အကြီးအကဲတွင်အောက်ပါနှင့်ဆင်တူသည့် encoding ကြေငြာချက်တစ်ခုရှိသင့်သည် -
<?xml version="1.0" encoding="UTF-8"?>
ကြေငြာချက်သည်မှန်ကန်ကြောင်းနှင့်ဖိုင်၏အမှန်တကယ် encoding သည်ကြေငြာချက်နှင့်ကိုက်ညီကြောင်းသေချာအောင်လုပ်ပါ။ အကယ်. ဖိုင်တွဲသည်ကြေငြာချက်နှင့်မကိုက်ညီပါကဖိုင်၏အကျင့်ကို encoding ပြောင်းရန်စာသားတည်းဖြတ်သူကိုသင်အသုံးပြုနိုင်သည်, သို့မဟုတ် parsing စဉ်အတွင်း encoding ကိုသတ်မှတ်နိုင်သည်။
PHP သည် xml_set_character_Data_Handler function ကိုထောက်ပံ့ပေးသည်။ ဥပမာအားဖြင့်၎င်းသည် encoding ကိုပြောင်းလဲရန်အသုံးပြုနိုင်သည်။
$parser = xml_parser_create();
xml_set_character_data_handler($parser, "handle_data");
function handle_data($parser, $data) {
// အချက်အလက်များကို encoding နှင့်ကူးပြောင်း
echo mb_convert_encoding($data, "UTF-8", "GB2312");
}
XML ဖိုင်တွင်တရားမ 0 င်အက္ခရာများပါ 0 င်ပါ က (ဥပမာအားဖြင့်, developer များဤအမှားကုဒ်မှတဆင့်ပြ problem နာကိုရှာဖွေနိုင်ပြီးတရားမ 0 င်စာလုံးများကိုရှင်းလင်းရန်ပုံမှန်အသုံးအနှုန်းများကိုကိုယ်တိုင်ဖြေရှင်းနိုင်သည်
ဥပမာအားဖြင့်, သင်ပုံနှိပ်ထားသောအက္ခရာများအားလုံးကိုသင်စစ်ထုတ်နိုင်သည်။
function remove_invalid_chars($data) {
return preg_replace('/[^\x20-\x7E\x0A\x0D\x09]/', '', $data);
}
အချို့ဖြစ်ရပ်များတွင် XML ဖိုင်ကိုသဟဇာတမဖြစ်သော encodings ဖြင့်သိမ်းဆည်းထားနိုင်ပြီး၎င်းကိုမခွဲမီ utf-8 encoding format သို့ပြောင်းရန်ကြိုးစားနိုင်သည်။
$content = file_get_contents('example.xml');
$content = mb_convert_encoding($content, 'UTF-8', 'auto');
ခွဲခြမ်းစိတ်ဖြာခြင်းလုပ်ငန်းစဉ်အတွင်း XML_GEget_error_code နှင့် XML_Error_String functions များကိုပေါင်းစပ်။ ထုတ်ယူခြင်းနှင့် output process အချက်အလက်များကိုဖမ်းယူခြင်းနှင့် output ကိုထုတ်ယူနိုင်ရန်။ ဥပမာအားဖြင့်:
$parser = xml_parser_create();
xml_parse($parser, $xml_data);
if (xml_get_error_code($parser) !== XML_ERROR_NONE) {
$error_code = xml_get_error_code($parser);
$error_message = xml_error_string($error_code);
echo "Error Code: $error_code - $error_message";
}
xml_parser_free($parser);
ဤနည်းအားဖြင့် developer များကအမှား၏အကြောင်းရင်းကိုရှင်းရှင်းလင်းလင်းမြင်နိုင်ပြီးပြင်ဆင်မှုများပြုလုပ်နိုင်သည်။
အထူးသဖြင့်ဒေသများသို့မဟုတ်စနစ်များမှ XML ဖိုင်များနှင့်ဆက်ဆံရာတွင် XML ခွဲခြမ်းစိတ်ဖြာမှုတွင်အက္ခရာစဉ်ပြ issues နာများသည်ပုံမှန်ပြ problems နာများဖြစ်သည်။ xml_get_error_code ကိုအသုံးပြုပြီး farming စဉ်အတွင်းအမှားကုဒ်များကိုရှာဖွေခြင်း, XML ဖိုင်၏ encoding ကြေငြာချက်ကိုစစ်ဆေးခြင်းအပြင်မှန်ကန်သောဇာတ်ကောင်ပြုပြင်ခြင်းလုပ်ဆောင်ချက်ကို အသုံးပြု. ဖိုင်ကိုမှန်ကန်စွာခွဲခြားထားကြောင်း encoding ပြောင်းလဲခြင်းကိုပေါင်းစပ်နိုင်သည်။
သာမန် coding အမှားများကိုနားလည်သဘောပေါက်ခြင်းနှင့်ကာကွယ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် XML အချက်အလက်များကိုပိုမိုကောင်းမွန်စေရန်နှင့်အစီအစဉ်တည်ငြိမ်မှုနှင့်လိုက်လျောညီထွေဖြစ်မှုကိုတိုးတက်စေနိုင်သည်။