PHP တွင် XML စာရွက်စာတမ်းများကိုထုတ်လုပ်သည့်အခါများသောအားဖြင့်အသုံးပြုသော paring method များထဲမှတစ်ခုဖြစ်သည်။ XML ကို Expat နှင့်ခွဲခြမ်းစိတ်ဖြာသည့်အခါ, element start, element end, character data data စသည့်ကွဲပြားခြားနားသော XML node များပြုလုပ်ရန် callback functions အမျိုးမျိုးကိုသင်မှတ်ပုံတင်နိုင်သည်။
XML_SET_DEFAUND_Handler သည် PHP ရှိ XML parser ၏ function တစ်ခုဖြစ်သည်။ ၎င်းသည် default processing function ကိုသတ်မှတ်သည်။ ဤပုံမှန် processing function ကိုအထူး callback function မှမလုပ်ဆောင်သော XML အပိုင်းအစတစ်ခုကိုကြုံတွေ့ရသောအခါကြုံတွေ့ရသည့် XML အပိုင်းအစတစ်ခုကိုတွေ့သောအခါခေါ်ယူခြင်းဖြစ်သည်။ မှတ်ချက်များ, CDATA ကဏ် sections များစသဖြင့် default processing function ကိုဖြစ်ပေါ်စေလိမ့်မည်။
ထို့ကြောင့်ကျွန်ုပ်တို့သည် XML_SET_DEFAUND_Handler မှတဆင့်မှတ်စုများကိုဖမ်းယူနိုင်ပြီး၎င်းကိုအညီလုပ်ဆောင်နိုင်သည်။
XML_Set_Default_Handler ကို XML ရှိမှတ်ချက်ပေးရန်အတွက် XML_SET_DEFAUND_Handler ကို မည်သို့အသုံးပြုရမည်ကိုပြသသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// aXMLမိစ်ဆာ
$parser = xml_parser_create();
// default processing function ကိုသတ်မှတ်ပါ,မှတ်ချက်များနှင့်အခြားတခြားကျရှုံးသည့်အကြောင်းအရာများကိုဖမ်းယူပါ
xml_set_default_handler($parser, 'defaultHandler');
// default processing function ကိုသတ်မှတ်ပါ
function defaultHandler($parser, $data) {
// မှတ်ချက်အကြောင်းအရာသည်များသောအားဖြင့်ဖြစ်သည်<!--အစ,ဖြင့်-->အဆုံး
if (preg_match('/^<!--(.*)-->$/s', $data, $matches)) {
echo "မှတ်ချက်အကြောင်းအရာ: " . trim($matches[1]) . "\n";
} else {
// 这里可ဖြင့်处理其他未捕获的ကေြနပ်သော,ကဲ့သို့CDATAစောင့်
echo "ပုံမှန်အားဖြင့်ပါဝင်မှု process: " . trim($data) . "\n";
}
}
// ဖတ်XMLအချက်များ
$xml = <<<XML
<?xml version="1.0"?>
<!-- ဒါXML၏မှတ်ချက်များ -->
<root>
<child>ကေြနပ်သော</child>
<!-- 子元素၏မှတ်ချက်များ -->
</root>
XML;
// သုံးသပ်ကြည့်ရှုခြင်းXMLအချက်များ
if (!xml_parse($parser, $xml, true)) {
die(sprintf("XMLသုံးသပ်ကြည့်ရှုခြင်း错误: %s အတွက် %d အိုကေ",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
// အရင်းအမြစ်များကိုအခမဲ့
xml_parser_free($parser);
?>
ကျနော်တို့တစ် ဦး parser $ parser ဖန်တီးခဲ့သည်။
Defaulthandler function သည် XML_SESS_DEFAfeFAUT_Handler ကို အသုံးပြု. မှတ်ပုံတင်ထားသည့် charkback မှသိမ်းဆည်းထားခြင်းမရှိသောအကြောင်းအရာအားလုံးကိုကိုင်တွယ်ရန်မှတ်ပုံတင်ထားသည်။
default processing function တွင်အချက်အလက်များသည်မှတ်စုတစ်ခုရှိမရှိစစ်ဆေးရန်ပုံမှန်အသုံးအနှုန်းကိုအသုံးပြုသည်။
အထူးပြုလုပ်ထားသောအခြားအကြောင်းအရာများသည်ထုတ်လုပ်မှုလည်းဖြစ်လိမ့်မည်။ သို့သော်ဤနေရာတွင်ကျွန်ုပ်တို့သည်မှတ်ချက်များအပေါ်အဓိကအာရုံစိုက်သည်။
မှတ်ချက်အကြောင်းအရာ: ဒါXML၏မှတ်ချက်များ
ပုံမှန်အားဖြင့်ပါဝင်မှု process:
ပုံမှန်အားဖြင့်ပါဝင်မှု process:
မှတ်ချက်အကြောင်းအရာ: 子元素၏မှတ်ချက်များ
သင်တွေ့မြင်ရသည့်အတိုင်းမှတ်ချက်အကြောင်းအရာကိုအောင်မြင်စွာဖမ်းယူနိုင်ပြီး output ကိုအောင်မြင်စွာဖမ်းယူနိုင်ခဲ့သည်။
xml_set_default_Handler ကိုအသုံးပြုပြီးမှတ်ချက်များအပါအ 0 င်အခြားအထူး callbacks များကသိမ်းဆည်းထားခြင်းမရှိသော XML တွင်အကြောင်းအရာများကိုကျွန်ုပ်တို့ကိုင်တွယ်နိုင်သည်။ ရိုးရှင်းသောပုံမှန်ကိုက်ညီမှုဖြင့်မှတ်ချက်စာသားကိုသက်ဆိုင်ရာအပြောင်းအလဲအတွက်ထုတ်ယူနိုင်သည်။
ဤချဉ်းကပ်မှုသည် Expat parser ကိုအသုံးပြုသည့်အခါသစ်ထုတ်လုပ်ခြင်း, စီစစ်ခြင်းသို့မဟုတ်အကြောင်းအရာထုတ်ယူခြင်းစသည့်မှတ်ချက်များကိုစိတ်ကြိုက်ပြုပြင်ခြင်းအတွက်အထူးသဖြင့်သင့်တော်သည်။