PHP တွင် XML အချက်အလက်များသည်အထူးသဖြင့်ပြင်ပစနစ်များနှင့်အပြန်အလှန်ဆက်သွယ်သောအခါဘုံလုပ်ငန်းတစ်ခုဖြစ်သည်။ XML_Parse သည်အဓိက parsing function တစ်ခုဖြစ်သည်။ Array_map သည် အသုတ်ပြောင်းလဲခြင်းအတွက်အဆင့်မြင့်လုပ်ဆောင်မှုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ပြီး batch XML ဒေတာများကိုထိရောက်စွာပြောင်းလဲစေပြီးကုဒ်၏ဖတ်နိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေနိုင်သည်။
ဒီရည်မှန်းချက်ကိုဘယ်လိုအောင်မြင်ဖို့ဘယ်လိုသရုပ်ပြဖို့ဥပမာတစ်ခုကိုအသုံးပြုပါလိမ့်မယ်။
ရိုးရှင်းသော xml စာသားဖြင့်စတင်ကြပါစို့။
<items>
<item>
<id>1</id>
<name>ကုန်ပစ္စည်းA</name>
<url>http://m66.net/product/1</url>
</item>
<item>
<id>2</id>
<name>ကုန်ပစ္စည်းB</name>
<url>http://m66.net/product/2</url>
</item>
</items>
$xmlData = <<<XML
<items>
<item>
<id>1</id>
<name>ကုန်ပစ္စည်းA</name>
<url>http://m66.net/product/1</url>
</item>
<item>
<id>2</id>
<name>ကုန်ပစ္စည်းB</name>
<url>http://m66.net/product/2</url>
</item>
</items>
XML;
$parser = xml_parser_create();
xml_parse_into_struct($parser, $xmlData, $values, $index);
xml_parser_free($parser);
၎င်းသည် XML အချက်အလက်များကို array နှစ်ခု သို့ ခွဲထားသည် ။
$items = [];
foreach ($index['ITEM'] as $i => $pos) {
$item = [];
$idPos = $index['ID'][$i];
$namePos = $index['NAME'][$i];
$urlPos = $index['URL'][$i];
$item['id'] = $values[$idPos]['value'];
$item['name'] = $values[$namePos]['value'];
$item['url'] = $values[$urlPos]['value'];
$items[] = $item;
}
ယခုတွင်ကျွန်ုပ်တို့သည်သပ်သပ်ရပ်ရပ်ခင်းကျင်းဖွဲ့စည်းပုံကိုရရှိသည်။
[
['id' => '1', 'name' => 'ကုန်ပစ္စည်းA', 'url' => 'http://m66.net/product/1'],
['id' => '2', 'name' => 'ကုန်ပစ္စည်းB', 'url' => 'http://m66.net/product/2'],
]
ကျွန်ုပ်တို့ထည့်သွင်းလိုပါက Ref = XML Parameter သည် URL တစ်ခုချင်းစီသို့ထုတ်ကုန်အမည်ကိုအရင်းအနှီးသို့ပြောင်းပါ။
$processedItems = array_map(function($item) {
$item['name'] = strtoupper($item['name']);
$item['url'] .= '?ref=xml';
return $item;
}, $items);
နောက်ဆုံး output:
print_r($processedItems);
ရလဒ်ရလဒ် -
Array
(
[0] => Array
(
[id] => 1
[name] => ကုန်ပစ္စည်းA
[url] => http://m66.net/product/1?ref=xml
)
[1] => Array
(
[id] => 2
[name] => ကုန်ပစ္စည်းB
[url] => http://m66.net/product/2?ref=xml
)
)