XML (Countensible Markup Language) သည်ကျယ်ပြန့်စွာအသုံးပြုသောဒေတာသိုလှောင်မှုနှင့်လဲလှယ်ရေးပုံစံဖြစ်သည်။ XML သည် Web Development နှင့်ကွဲပြားသောစနစ်များအကြားရှိအချက်အလက်အပြန်အလှန်ဆက်သွယ်မှုတွင်အရေးပါသောအခန်းကဏ် plays မှပါ 0 င်သည်။ PHP သည် XML_Parse ကို XML စာရွက်စာတမ်းများကိုခွဲခြမ်းစိတ်ဖြာရန်နှင့်ဒေတာများကိုလုပ်ဆောင်ရန်လုပ်ဆောင်သည်။ သို့သော်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် developer များစွာသည် XML namespace ကိုလျစ်လျူရှုထားသည့်အခြေအနေကိုကြုံတွေ့ရပြီး XML_Parse ကို အသုံးပြုသောအခါအမှားများကိုဖြစ်ပေါ်စေသည်။ ထို့ကြောင့် Namespace ကိုလျစ်လျူရှုခြင်းသည်အဘယ်ကြောင့်မှားယွင်းနေသနည်း။ ဤဆောင်းပါးသည်ဤပြ problem နာကိုတစ် ဦး ချင်းစီခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
XML တွင် Namespace သည်တူညီသောအရာများ၏ attack သို့မဟုတ် attribute များခွဲခြားရန်အသုံးပြုသောယန္တရားတစ်ခုဖြစ်သည်။ ကွဲပြားခြားနားသော XML ဒေတာအရင်းအမြစ်များသို့မဟုတ်ကွဲပြားခြားနားသော XML စံချိန်စံညွှန်းများအသုံးပြုသောအခါ, element သို့မဟုတ် attribute အမည်များကိုမိတ္တူကူးယူရန်သူတို့ကိုခွဲခြားရန်၎င်းတို့ကိုခွဲခြားရန်အများအားဖြင့်ခွဲခြားရန်အသုံးပြုကြသည်။ အမည်များကိုများသောအားဖြင့် XMLNS attribute မှသတ်မှတ်သည်။ ၎င်းသည် Element တစ်ခုသို့မဟုတ် attribute အတွက်ထူးခြားသောအမှတ်အသားကိုပေးသည်။
ဥပမာအားဖြင့်, ဤနေရာတွင် namespace ၏အဓိပ္ပါယ်ဖွင့်ဆိုရိုးရှင်းသော XML စာရွက်စာတမ်းတစ်ခုဖြစ်သည်။
<book xmlns:ns="http://m66.net/book">
<ns:title>PHP Programming</ns:title>
<ns:author>John Doe</ns:author>
</book>
ဤဥပမာတွင် XMLNS: NS = "http://m66.net/book" သည် namespace ns တစ်ခုဖြစ်ပြီး ခေါင်းစဉ် နှင့် စာရေးသူ ပေါင်းစုံနှစ်ခုလုံးသည်ဤ namespace နှင့်သက်ဆိုင်သည်။
XML_Parse function သည် PHP တွင် XML အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာရန် PHP တွင်အသုံးပြုသော core function ဖြစ်သည်။ ၎င်းသည် XML ဒေတာများကိုလက်ခံရရှိပြီးစာရွက်စာတမ်း၏ဖွဲ့စည်းပုံအရခွဲခြမ်းစိတ်ဖြာခြင်းရလဒ်များကိုပြန်လည်ရရှိခဲ့သည်။ XML_Parse သည် XML data step ကိုတစ်ဆင့်ချင်းဖတ်ပြီးကွဲပြားခြားနားသောအဖြစ်အပျက်များကိုဖြစ်ပေါ်စေသည်။
သို့သော် XML အချက်အလက်များတွင် namespace များပါ 0 င်သည့်အခါ Namespace ကိုမှန်ကန်စွာမကိုင်တွယ်နိုင်လျှင်, အထူးသဖြင့်အမည်စာရင်းများကိုလျစ်လျူရှုခြင်းသည်အောက်ပါပြ problems နာများကိုဖြစ်စေနိုင်သည်။
Element Name ပ conflict ိပက်ခ <br> အကယ်. XML စာရွက်စာတမ်းများသည်တူညီသော element name ကိုသုံးပါက၎င်းတို့သည်မတူညီသော element names များနှင့်သက်ဆိုင်ပါက XML_Parse သည် ဤ element များကိုမှန်ကန်စွာ ခွဲခြား. မရပါ။ ဥပမာအားဖြင့် <title> နှင့် <auther> ကွဲပြားခြားနားသောအမည်များတွင်ကွဲပြားခြားနားသောအဓိပ္ပါယ်များရှိနိုင်သည်။
Elements ကိုမှန်ကန်သော Namespace ရှိ Element များကိုမသုံးနိုင်ပါ xml ကို namespace များနှင့်ခွဲခြမ်းစိတ်ဖြာသည့်အခါ Namespace ကိုလျစ်လျူရှုခြင်းသည်ဒြပ်စင်များကိုမှန်ကန်စွာဝင်ရောက်နိုင်လိမ့်မည်။ အထက်ပါ စာအုပ် ဥပမာတစ်ခုကိုဥပမာတစ်ခုအနေဖြင့်ခွဲခြမ်းစိတ်ဖြာခြင်းသည် NS: ခေါင်းစဉ် နှင့် NS: စာရေးဆရာများကို သာမန် ခေါင်းစဉ် နှင့် စာရေးသူ element များအဖြစ်ဆက်ဆံခြင်းဖြစ်သောကြောင့်ဖြစ်သည်။
output အမှားသို့မဟုတ်မပြည့်စုံသောဒေတာ <br> <br> အကယ်. Namespace ကိုမှန်ကန်စွာပြုပြင်မထားပါက XML_Parse သည် အမှားတစ်ခုပြုလုပ်နိုင်သည် (သို့) အပြည့်အဝ parsing ရလဒ်ကိုထုတ်ပေးရန်ပျက်ကွက်ခြင်း,
ဤပြ problems နာများကိုရှောင်ရှားရန် XML အချက်အလက်များကိုအမည်များဖြင့်ကိုင်တွယ်သောအခါကျွန်ုပ်တို့သည်ခွဲခြမ်းစိတ်ဖြာသည့်အခါ namespace ကိုအတိအလင်းစဉ်းစားရန်လိုအပ်သည်။ ကျွန်ုပ်တို့သည် xml_set_object_Characto_Data_Handler ကို သုံး နိုင်သည်။ သို့မဟုတ် php ၏ ရိုးရှင်းသောရိုးရှင်းသော တိုးချဲ့မှုကိုသုံးနိုင်သည်။
Simplexml ကိုအသုံးပြုပြီး xml ကို parml ကို parml ၏ဥပမာတစ်ခုမှာ -
$xml = simplexml_load_string($xml_string, "SimpleXMLElement", LIBXML_NOCDATA);
// namespace နှင့်အတူ element တွေကိုကိုင်တွယ်
$namespace = "http://m66.net/book";
$title = $xml->children($namespace)->title;
$author = $xml->children($namespace)->author;
echo "Title: $title\n";
echo "Author: $author\n";
ဤဥပမာတွင် ကလေးများ ($ namespace) သည် element များကိုသတ်သတ်မှတ်မှတ် namespace တစ်ခုရှိ element များကိုရှာဖွေရန်ခွင့်ပြုသည်။
XML ဒေတာများကို namespace များဖြင့်ထုတ်ယူသောအခါ namespace ကိုလျစ်လျူရှုပါက XML_Parse function သည်အမှားအယွင်းများကိုမှားယွင်းစွာဝင်ရောက်ကြည့်ရှုနိုင်ပြီးခွဲခြားခြင်းနှင့်ခွဲခြားခြင်းမပြုနိုင်ပါ။ ဤအရာကိုရှောင်ရှားရန် developer များသည်ခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်း namespace ကိုမှန်ကန်စွာကိုင်တွယ်ရန်သေချာစေရန်လိုအပ်သည်။ Simplexml သို့မဟုတ်အခြားအထူးပြု XML parsing libling libling libling libling libling libling libraries များကို အသုံးပြု. Namespace နှင့်သက်ဆိုင်သောပြ problems နာများကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီး XML အချက်အလက်များကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်လုပ်ငန်းများ၌ပြုလုပ်နိုင်သည်။