PHP တွင် XML_PARSES သည် developer များကို XML data standard ကိုအဆင့်ဆင့်ခွဲခြမ်းစိတ်ဖြာရန်ခွင့်ပြုထားသော XML parsing function ဖြစ်သည်။ XML အချက်အလက်များတွင်နာမည်များပါ 0 င်သည့်အခါ XML_Parse ကိုအသုံးပြုပြီး xml_parse ကို အသုံးပြု. ခွဲခြမ်းစိတ်ဖြာခြင်းသည်အထူးလုပ်ဆောင်မှုများကိုကြုံတွေ့ရနိုင်သည်။ ဤဆောင်းပါးတွင် XML_Parse ကို XML_PLESS ကို NAMESPERS ပါ 0 င်ရန်နှင့်ဘုံမှတ်စုအချို့ကိုဆွေးနွေးရန်မည်သို့အသုံးပြုရမည်ကိုလေ့လာမည်။
XML တွင် Namespace များသည်ပ conflicts ိပက်ခများကိုရှောင်ရှားရန်တူညီသောအရာများနှင့် attribute များကိုခွဲခြားရန်အသုံးပြုသည်။ ဥပမာအားဖြင့် xmlns မှတဆင့်အမည်စာရင်းများကိုပုံမှန်အားဖြင့်ကြေငြာသည်။
<book xmlns="http://www.example.com/book">
<title>PHPအစီအစဉ်</title>
<author>Zhang San</author>
</book>
ဤဥပမာတွင် XMLNS = "http://www.example.com/book" တွင် ဒြပ် စင်၏ namespace တွင်ဖော်ပြထားသည်။ ဤ namespace ပိုင်သောဒြပ်စင်များနှင့်ဂုဏ်သတ္တိများအားလုံးသည်ဤ URL ကိုအသုံးပြုလိမ့်မည်။
XML_Parse သည် XML အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာရန်အတွက် PHP တွင်အခြေခံလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် XML ဒေတာများကိုတစ်ဆင့်ချင်းစီခွဲနိုင်ပြီးခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်းအမှားအချက်အလက်များကိုပြန်ပို့နိုင်သည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
int xml_parse (resource $parser, string $data, bool $is_final)
$ parser : ဤသည် XML_Parser_Create () မှတဆင့်ဖန်တီးထားသော parser အရင်းအမြစ်တစ်ခုဖြစ်သည်။
$ ဒေတာ - ဤသည်မှာခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည့် XML ဒေတာဖြစ်သည်။
$ is_final : ဤသည် XML ဒေတာ၏နောက်ဆုံးအပိုင်းအစဖြစ်လျှင် စစ်မှန်တဲ့ သတ်မှတ်ထားပါ ။
XML အချက်အလက်များကိုအမည်များနှင့်ခွဲခြမ်းစိတ်ဖြာရန်, များသောအားဖြင့်အဓိကအဆင့်နှစ်ဆင့်ရှိသည်။
XML parser တစ်ခု ဖန်တီး. namespace ကိုသတ်မှတ်ပါ။
အဆိုပါ calseback function ကို parsing အခါ namespace ။
XML_Parse ကို အသုံးပြု. XML အချက်အလက်များကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာခြင်းကိုပြသသောရိုးရှင်းသော PHP PHPPL
<?php
// နမူနာ XML အချက်များ
$xml_data = '<?xml version="1.0" encoding="UTF-8"?>
<book xmlns="http://m66.net/book">
<title>PHPအစီအစဉ်</title>
<author>Zhang San</author>
</book>';
// parser ဖန်တီးပါ
$parser = xml_parser_create();
// namespace ကိုသတ်မှတ်ပါ
xml_set_element_handler($parser, "startElement", "endElement");
// သုံးသပ်ကြည့်ရှုခြင်း XML အချက်များ
if (!xml_parse($parser, $xml_data, true)) {
die(sprintf("XMLသုံးသပ်ကြည့်ရှုခြင်း错误: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
// 销毁သုံးသပ်ကြည့်ရှုခြင်း器
xml_parser_free($parser);
// processing start tag
function startElement($parser, $name, $attrs) {
// output tag နာမ,namespace ကိုအာရုံစိုက်ပါ
echo "Element ကိုစတင်ပါ: " . $name . "\n";
}
// processing end tag
function endElement($parser, $name) {
echo "Ender: " . $name . "\n";
}
?>
XML ကို namespace များနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်း XML_PARESSESESSESESESESE EVERARE နှင့် namespace တို့ကိုအတူတကွပေါင်းစည်းစေသည်။ ဥပမာ xml ဒေတာတွင် namespace http://m66.net/book တွင်ပါ 0 င်ပါက {http://m66.net/book} ခေါင်းစဉ်သည် {http://m66.net/book} ခေါင်းစဉ်ဖြစ်လာလိမ့်မည်။
ထို့ကြောင့် startelfulce နှင့် Endelement Callback လုပ်ဆောင်ချက်များတွင် element name format format ကိုစစ်ဆေးခြင်းအားဖြင့် Namespace လိုအပ်သည်ကိုကျွန်ုပ်တို့ဆုံးဖြတ်နိုင်သည်။
namespace format - ခွဲခြမ်းစိတ်ဖြာသောအခါ element name သည် namespace ကိုအလိုအလျောက်ထည့်သွင်းလိမ့်မည် ။ namespace မပါဘဲ element တစ်ခု၏အမည်ကိုရယူရန်၎င်းကိုကြားဖြတ်ရန် substr ကို သုံးနိုင်သည်။
Namespace Prefix : XML ရှိ Element တစ်ခုသည် namespace ရှေ့ဆက်ကိုအသုံးပြုပါက (ဥပမာ XMLNS: Book = "http://m66.net/book" ) သည်ရှေ့ဆက်နှင့် namespace အကြားမြေပုံပြောဆိုမှုကိုဂရုပြုရန်လိုအပ်နေဆဲဖြစ်သည်။
NALPARE ၏ NULL တန်ဖိုး - အချို့သော XML parsers အချို့သည် Element အမည်များကို namespace နှင့်အတူ element names နှင့် namespace မပါဘဲရှုပ်ထွေးစေနိုင်သည်။ XML_Parse ကိုအသုံးပြုပြီးတဲ့အခါမှာ namespace ကိုမှန်ကန်စွာကိုင်တွယ်နိုင်အောင်သေချာအောင်သေချာအောင်လုပ်ပါ။
ခြွင်းချက်ကိုင်တွယ်ခြင်း - xml_parse ကိုအသုံးပြုပြီးတဲ့အခါမှာ parsing အမှားအယွင်းတွေကိုဖမ်းယူပြီးကိုင်တွယ်ဖြေရှင်းဖို့သေချာအောင်လုပ်ပါ။
Debug Output : XML_Get_error_code () နှင့် xml_error_string () နှင့် xml_error_String () functions များကိုသုံးပါ။
XML_Parse function သည် xml အချက်အလက်များကို namespace များပါ 0 င်သည့်အခါအလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ သော့ချက်က Namespace တွေကိုဘယ်လိုကိုင်တွယ်ရမယ်ဆိုတာနားလည်အောင်လုပ်ဖို့ပါ။ Namespace ကိုသုံးသောအခါကျွန်ုပ်တို့သည်များသောအားဖြင့် element name များ၏ resolution ၏ resolution ကိုညှိရန်လိုအပ်သည်။ ကျိုးကြောင်းဆီလျော်သောအမှားကိုင်တွယ်ခြင်းနှင့် debugging မှတဆင့် XML ဒေတာ၏ချောမွေ့ parsing ကိုသေချာနိုင်ပါတယ်။
XML_Parse ကို အသုံးပြု. PHP ရှိ Namespace တွင် XML အချက်အလက်များကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာခြင်းကိုပိုမိုနားလည်သဘောပေါက်ရန်ပိုမိုနားလည်ရန်ဤဆောင်းပါးကဤဆောင်းပါးသည်သင့်အားပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။ သင့်တွင်မေးခွန်းများပိုများလျှင် ကျေးဇူးပြု. မှတ်ချက်အပိုင်းတွင်စာတစ်စောင်ထားခဲ့ပါ။