XML data များထုတ်လုပ်သည့်အခါ PHP သည် XML parser extensions extensions များနှင့် xml_parse_Data_Handler သည် XML text node များခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်အရေးကြီးသောကိရိယာများဖြစ်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုသည် XML တွင်စာသားအကြောင်းအရာများကိုထိရောက်စွာဖတ်ရန်နှင့်လုပ်ဆောင်ရန်အတူတကွလုပ်ဆောင်ကြသည်။ ဤဆောင်းပါးသည် XML အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာရန်မည်သို့အသုံးပြုရမည်ကိုပြသရန်ရိုးရှင်းသောဥပမာကိုအသုံးပြုလိမ့်မည်။
XML_Parse () သည် XML ဒေတာများကိုစတင်ခွဲထုတ်ရန်အသုံးပြုသော core function ဖြစ်သည်။ ၎င်းသည် parser အရင်းအမြစ်နှင့် parameters များအနေဖြင့် XML string ကိုလက်ခံရရှိသည်။
xml_set_character_Data_Handler () XML ရှိစာသား node ကိုကြုံတွေ့ရသောအခါ callback function ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ဆိုလိုသည်မှာ tags များအကြားလွင်ပြင်စာသား (CDATA) ပါဝင်မှုအားလုံးသည်ဤ function မှတဆင့်လုပ်ဆောင်လိမ့်မည်။
XML ရှိစာသားအကြောင်းအရာများကိုထုတ်ယူရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုပြသရန်ဥပမာတစ်ခုကိုအသုံးပြုကြပါစို့။
<?php
// 1. ပြင်ဆင်ထား XML ကြိုး
$xmlData = <<<XML
<books>
<book>
<title>PHP Programming အလေ့အကျင့်</title>
<author>Zhang San</author>
</book>
<book>
<title>နက်ရှိုင်းသောနားလည်မှု XML</title>
<author>li si</author>
</book>
</books>
XML;
// 2. တစ် ဦး ကန ဦး XML မိစ်ဆာ
$parser = xml_parser_create();
// 3. Extracted စာသားအကြောင်းအရာကိုစတိုးဆိုင်
$textContents = [];
// 4. စာသားများပြုလုပ်သော callback function ကိုသတ်မှတ်ပါ
function handleCharacterData($parser, $data) {
global $textContents;
// အလွတ်အက္ခရာများကိုရှင်းလင်းပါ
$data = trim($data);
if (!empty($data)) {
$textContents[] = $data;
}
}
// 5. ဇာတ်ကောင်ဒေတာအပြောင်းအလဲနဲ့ function ကိုသတ်မှတ်ပါ
xml_set_character_data_handler($parser, "handleCharacterData");
// 6. သုံးသပ်ကြည့်ရှုခြင်း XML အချက်များ
if (!xml_parse($parser, $xmlData, true)) {
die("XML အမှား: " . xml_error_string(xml_get_error_code($parser)));
}
// 7. 释放မိစ်ဆာ资源
xml_parser_free($parser);
// 8. ထုတ်ယူစာသားအကြောင်းအရာ output ကို output
echo "Extracted text အကြောင်းအရာများသည်အောက်ပါအတိုင်းဖြစ်သည်:<br>";
foreach ($textContents as $text) {
echo htmlspecialchars($text) . "<br>";
}
?>
အထက်ပါ PHP script ကိုဖွင့်ပြီးနောက်, အောက်ပါ output သည်:
Extracted text အကြောင်းအရာများသည်အောက်ပါအတိုင်းဖြစ်သည်:
PHP Programming အလေ့အကျင့်
Zhang San
နက်ရှိုင်းသောနားလည်မှု XML
li si
ဤခွဲခြမ်းစိတ်ဖြာနည်းသည်အထူးသဖြင့် XML ဒေတာသေးငယ်သည့်အချက်အလက်များကိုထုတ်လုပ်ရန်အတွက်အထူးသဖြင့်သင့်တော်သည်။ သို့မဟုတ် tags များအကြားစာသားအကြောင်းအရာများကိုထပ်မံလုပ်ဆောင်လိုပါက။ ဥပမာအားဖြင့်:
RSS feeds တွင်သတင်းခေါင်းစဉ်များနှင့်အကြောင်းအရာများတွားခြင်း,
parses ထုံးစံ XML တုံ့ပြန်မှုများကို https://api.m66.net/data.xml မှပြန်လာသည်။
configuration file ဖိုင်သို့မဟုတ်ဒေတာဖိုင်ရှိစာသားကိုထုတ်ယူပါ။
XML_Parser_Create () ဖြင့်ဖန်တီးထားသောခွဲခြမ်းစိတ်ဖြာခြင်း () ကို XML_Parser_Free () ကိုအသုံးပြုပြီးနောက်အရင်းအမြစ်များကိုထုတ်ပေးရန်လိုအပ်သည်။
စာသားအကြောင်းအရာထုတ်ယူခြင်းလုပ်ဆောင်ချက်များသည် 0 င်ရောက်စွက်ဖက်ခြင်းကိုရှောင်ရှားရန် Whitespace ဇာတ်ကောင်များကိုစစ်ထုတ်ရန်လိုအပ်သည်။
PHP ၏ XML Parser သည်သရုပ်ဆောင်ခြင်းဖြစ်ပြီးကွဲပြားသော XML အစိတ်အပိုင်းများကိုကိုင်တွယ်ရန် ( XML_SESSESSESS ) ၏လုပ်ငန်းဆောင်တာများစွာကိုမှတ်ပုံတင်ရန်လိုအပ်သည်။
XML_Parse နှင့် XML_set_character_Data_Handler ကို ပေါင်းစပ်ပြီး XML ရှိစာသားအကြောင်းအရာများကို XML တွင်ကိုင်တွယ်နိုင်သည်။ ၎င်းသည်ရိုးရှင်းသော string ကိုထုတ်ယူခြင်းသို့မဟုတ်ရှုပ်ထွေးသောယုတ္တိဗေဒထုတ်လုပ်မှုသို့မဟုတ်ရှုပ်ထွေးသောယုတ္တိဗေဒထုတ်လုပ်မှုရှိ,
PHP တွင် XML parses ကိုမည်သို့နားလည်ကြောင်းဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။ ဒေတာကိုဒေတာဘေ့စ်သို့မဟုတ်ဝက်ဘ်စာမျက်နှာပြသသည့်အချက်အလက်များကိုထပ်မံပေါင်းစပ်ရန်လိုအပ်ပါကပိုမိုနီးကပ်စွာလျှောက်လွှာလုပ်ဆောင်မှုများကိုအောင်မြင်ရန်ကုဒ်ဖွဲ့စည်းပုံကိုဆက်လက်တိုးချဲ့နိုင်သည်။