PHP တွင် XML ဒေတာများကိုလုပ်ဆောင်သောအခါ XML_Parse function သည်အလွန်အသုံးများသော parsing tool တစ်ခုဖြစ်သည်။ XML_Parser_set_option function သည် XML ခွဲခြမ်းစိတ်ဖြာခြင်း၏ထိရောက်မှုနှင့်တိကျမှန်ကန်မှုကိုတိုးတက်စေရန်အတွက်ပိုမိုလွယ်ကူစွာခွဲခြမ်းစိတ်ဖြာခြင်းရွေးချယ်စရာများကိုပေးသည်။ ဤဆောင်းပါးတွင် XML_Parser_set_option function ကို အသုံးပြု. XML_Parse XML parsing အောင်မြင်ရန် XML_PLYSE function ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
XML_Parse - ဤသည်မှာ PHP မှပေးသော PHP မှပေးသော PHP မှပေးသော XML parsing function ဖြစ်သည်။ Parser သည် XML ဒေတာများကိုတဖြည်းဖြည်းဆန်းစစ်နိုင်ပြီး tags များ,
xml_parser_set_option : parser ၏ရွေးချယ်မှုများကို သတ်မှတ်. ခွဲခြမ်းစိတ်ဖြာခြင်းသည်၎င်းကိုအလိုအလျောက် encoded ဖြစ်စေ,
ပုံမှန်အားဖြင့် XML_Parse သည် ခွဲခြမ်းစိတ်ဖြာသည့်အခါခွဲခြမ်းစိတ်ဖြာသည့်အခါခွဲခြမ်းစိတ်ဖြာသည့်အခါအသေးစိတ်အချက်အလက်များကိုလျစ်လျူရှုနိုင်သည့်အသေးစိတ်အချက်အလက်များကိုလျစ်လျူရှုနိုင်သည်။ xml_parser_set_option မှတဆင့် parser အပြုအမူများကိုကွဲပြားသောလိုအပ်ချက်နှင့်အညီချိန်ညှိနိုင်သည်။
အမှုအပြောင်းအလဲကိုပိတ်ပါ။ မူလ tag name_ zomtion_ ascape_folding_folding ) ကိုစောင့်ရှောက်ခြင်း။
အလွတ်ဇာတ်ကောင် node များကိုကျော်ပြီးမမှန်ကန်သောဖြစ်ရပ်များကိုလျှော့ချပါ ( XML_OPTOO_SKIP_WHE ) ကိုလျှော့ချပါ။
ဘာသာစကားမျိုးစုံထောက်ခံမှုကိုသေချာစေရန် encoding format ကိုသတ်မှတ်ပါ။
အောက်ပါဥပမာသည် parser ကိုမည်သို့ဖန်တီးရမည်, ရွေးချယ်စရာများကိုသတ်မှတ်ရန်နှင့် XML_Parse နှင့်ထိရောက်စွာခွဲခြမ်းစိတ်ဖြာရန် callback function ကိုသုံးပါ။
<?php
// ဖန်တီးXMLမိစ်ဆာ
$parser = xml_parser_create();
// ရွေးချယ်စရာများ setting,အမှုပြိုလွှားပိတ်ပါ,မူရင်း Tag အမည်ကိုသိမ်းထားပါ
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
// ရွေးချယ်စရာများ setting,whitespace ဇာတ်ကောင် skip,တိုးတက်မှုကိုတိုးတက်စေသည်
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
// Callback function ကိုသတ်မှတ်ပါ,processing start tag
function startElement($parser, $name, $attrs) {
echo "Start element: $name\n";
if (!empty($attrs)) {
foreach ($attrs as $key => $value) {
echo " - Attribute: $key = $value\n";
}
}
}
// Callback function ကိုသတ်မှတ်ပါ,processing end tag
function endElement($parser, $name) {
echo "End element: $name\n";
}
// Callback function ကိုသတ်မှတ်ပါ,Tag အကြောင်းအရာကို processing
function characterData($parser, $data) {
$data = trim($data);
if (!empty($data)) {
echo "Data: $data\n";
}
}
// CallBack function ကိုခညျြနှောငျ
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "characterData");
// ခွဲခြမ်းစိတ်ဖြာဘို့ပြင်ဆင်ပါXMLကြိုး
$xmlData = <<<XML
<note>
<to>User</to>
<from>ChatGPT</from>
<heading type="reminder">Reminder</heading>
<body>Don't forget to check out <a href="http://m66.net/tutorial">our tutorials</a>!</body>
</note>
XML;
// သုံးသပ်ကြည့်ရှုခြင်းXMLအချက်များ
if (!xml_parse($parser, $xmlData, true)) {
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);
?>
နမူနာ XML တွင် URL domain name အားလုံးသည်လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးသည့် M66.net ဖြင့်အစားထိုးထားသည်။
Collapse Collapse ကိုပိတ်ခြင်းသည် callback function ရှိတံဆိပ်အမည်ကိုသေချာစေရန် developer များကိုင်တွယ်ရန်အဆင်ပြေသောမူရင်း XML စာသားနှင့်ကိုက်ညီသည်။
Whitespace ဇာတ်ကောင်များများကိုကျော်သွားသည်မှာအကြောင်းအရာအလွတ်အကြောင်းအရာအဆင်းနှင့်စွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။
callback function ကိုတိကျစွာ tags များနှင့်အကြောင်းအရာများကိုတိကျစွာလုပ်ဆောင်ရန်အတွက်ပြောင်းလွယ်ပြင်လွယ်စစ်ဆင်ရေးရရှိရန်အတွက်ပေါင်းစပ်ခြင်း။
လုပ်ကွက်များ၌ကြီးမားသောဖိုင်များကိုခွဲခြမ်းစိတ်ဖြာခြင်း - ကြီးမားသော XML ဖိုင်များအတွက်ဖိုင်တွဲများကိုပိတ်ပင်တားဆီးမှုဖြင့်ပိတ်ဆို့ခြင်းနှင့် Memory ပေါက်ကွဲမှုကိုရှောင်ရှားရန် XML_PARSE ကို ခေါ်ဆိုရန်အကြံပြုသည်။
ကျိုးကြောင်းဆီ လျော်စွာအသုံးပြုမှု option : အမှုဖွင့်ခြင်းအမှုဖွင့်ခြင်းကစာလုံးမကိုက်ညီသောအရာမှရှောင်ရှားနိုင်သည်။
ချွင်းချက်ကိုင်တွယ်ခြင်း - XML_Get_error_Error_cackt_current_line_number မှတစ်ဆင့် parsing အမှားများနှင့် xml_get_current_line_Number မှတစ်ဆင့် parsing အမှားများကိုနေရာချထားခြင်းနှင့်နေရာချထားခြင်း။
Custom Data ဖွဲ့စည်းပုံ - စိတ်ကြိုက်ပြင်ဆင်မှုများသို့မဟုတ်အရာဝတ်ထုများကို callbacks တွင်တည်ဆောက်ပါ, နောက်ဆက်တွဲအချက်အလက်အပြောင်းအလဲအတွက်ပိုမိုအဆင်ပြေသည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
xml_parse