XML ဖိုင်များနှင့်အလုပ်လုပ်သောအခါ Namespace သည်အလွန်အရေးကြီးသောအယူအဆဖြစ်သည်။ အထူးသဖြင့် XML စာရွက်စာတမ်းများကိုပေါင်းစည်းခြင်းသို့မဟုတ်ကွဲပြားသော XML စာရွက်စာတမ်းများကိုပေါင်းစည်းလိုက်သောအခါသို့မဟုတ်ကွဲပြားခြားနားသော XML အဆောက်အအုံများကိုပေါင်းစပ်ထားသည့်အခါ၎င်းသည်မတူညီသောဒြပ်စင်များနှင့်ဂုဏ်သတ္တိများကိုခွဲခြားသိမြင်စေသည်။ ဤအမည်များကိုထိထိရောက်ရောက်ကိုင်တွယ်ရန် PHP သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုကိုထောက်ပံ့ပေးသည် ။ ဤဆောင်းပါးသည် XML ဖိုင်များရှိအမည်များအားလုံးကိုအလွယ်တကူရရှိရန်ဤလုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
XML တွင် Element နှင့် attribute အမည်များအကြားပ conflicts ိပက်ခများကိုရှောင်ရှားရန်မိတ်ဆက်ပေးသောယန္တရားတစ်ခုဖြစ်သည်။ ပုံမှန်အားဖြင့်အမည်များကို URLs များဖြင့်သတ်မှတ်သည်, ၎င်းတို့သည်တိကျသောဒြပ်စင်များသို့မဟုတ် attribute များအတွက် XML စာရွက်စာတမ်းများတွင်သတ်မှတ်နိုင်သည်။ ဤနည်းအားဖြင့် XML စာရွက်စာတမ်းများသည်တူညီသော element name ကိုအသုံးပြုပါကပင်၎င်းတို့ကို namespace ဖြင့်ခွဲခြားနိုင်သည်။
GetNamePepts function ကိုမသုံးမီကျွန်ုပ်တို့သည် XML ဖိုင်ကို ဦး စွာတင်ရန်လိုအပ်သည်။ PHP ၏ ရိုးရှင်းသော SPOTXMLELEGEMELEMELEMELEEMELEMELEMELEMELESESECT လူတန်းစားကိုသင်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-variable">$xml</span></span><span> = </span><span><span class="hljs-title function_ invoke__">simplexml_load_file</span></span><span>(</span><span><span class="hljs-string">'example.xml'</span></span><span>);
</span></span>
၎င်းသည် XML ဖိုင်တွင်အချက်အလက်များကိုရယူရန်အတွက်အသုံးပြုနိုင်သော SimplexMlelement Object ကိုပြန်ပေးလိမ့်မည်။
GetNameptionSTRESS function သည် Simplexmlelelege Class မှပေးထားသောနည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းသည် XML document တစ်ခုတွင်နာမည်အားလုံးကိုပြန်ပေးနိုင်သည်။ အထူးသဖြင့် GetNonptionSTREST Mether ကိုခေါ်ဆိုခြင်းသည် Associative scread ကို namespace ရှေ့ဆက်နှင့် URL ပါ 0 င်သည့် activitive ခင်းကျင်းမှုကိုပြန်ပို့သည်။
ကျွန်ုပ်တို့တွင်ဤကဲ့သို့သော XML ဖိုင်ရှိသည်ဆိုပါစို့ ( ဥပမာ .xml ):
<span><span><span class="hljs-meta"><?xml version=<span class="hljs-string">"1.0"</span></span></span><span> encoding=</span><span><span class="hljs-string">"UTF-8"</span></span><span>?>
</span><span><span class="hljs-tag"><<span class="hljs-name">root</span></span></span><span> </span><span><span class="hljs-attr">xmlns:foo</span></span><span>=</span><span><span class="hljs-string">"http://www.example.com/foo"</span></span><span>
</span><span><span class="hljs-attr">xmlns:bar</span></span><span>=</span><span><span class="hljs-string">"http://www.example.com/bar"</span></span><span>>
</span><span><span class="hljs-tag"><<span class="hljs-name">foo:item</span></span></span><span>>Item 1</span><span><span class="hljs-tag"></<span class="hljs-name">foo:item</span></span></span><span>>
</span><span><span class="hljs-tag"><<span class="hljs-name">bar:item</span></span></span><span>>Item 2</span><span><span class="hljs-tag"></<span class="hljs-name">bar:item</span></span></span><span>>
</span><span><span class="hljs-tag"></<span class="hljs-name">root</span></span></span><span>>
</span></span>
foo နှင့် bar တွင် ဤဖိုင်တွင်သတ်မှတ်ထားသောအမည်စာရင်းနှစ်ခုရှိသည်။ ယခုဤအမည်များကို PHP မှတဆင့်မည်သို့ရယူရမည်ကိုကြည့်ကြပါစို့။
<span><span><span class="hljs-variable">$xml</span></span><span> = </span><span><span class="hljs-title function_ invoke__">simplexml_load_file</span></span><span>(</span><span><span class="hljs-string">'example.xml'</span></span><span>);
</span><span><span class="hljs-comment">// အားလုံး namespace ရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$namespaces</span></span><span> = </span><span><span class="hljs-variable">$xml</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getNamespaces</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-comment">// output namespace သတင်းအချက်အလက်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$namespaces</span></span><span>);
</span></span>
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[foo] => </span><span><span class="hljs-attr">http</span></span><span>://www.example.com/foo
[bar] => </span><span><span class="hljs-attr">http</span></span><span>://www.example.com/bar
)
</span></span>
အပေါ်ကပြထားတဲ့အတိုင်း GetNonesptions (True) နည်းလမ်းကတော့သော့ချက်ကတော့ namespace ရဲ့ရှေ့ဆက်ရဲ့ရှေ့ဆက်ကဆက်နွယ်ထားတဲ့ခင်းကျင်းမှုတစ်ခုဖြစ်ပြီးတန်ဖိုးကသက်ဆိုင်ရာ namespace url ဖြစ်ပါတယ်။
XML စာရွက်စာတမ်းတစ်ခုတွင် namespace ပါ 0 င်သည့်အခါ namespace နှင့်အတူ element များကိုရယူသည့်အခါ Namespace ကိုသတ်မှတ်ရန်လိုအပ်သည်။ ကျွန်ုပ်တို့သည် foo: item element ကိုရယူလိုပါကအောက်ပါကုဒ်များဖြင့်ဖြည့်စွက်နိုင်သည်ဆိုပါစို့။
<span><span><span class="hljs-variable">$fooItem</span></span><span> = </span><span><span class="hljs-variable">$xml</span></span><span>-></span><span><span class="hljs-title function_ invoke__">children</span></span><span>(</span><span><span class="hljs-string">'http://www.example.com/foo'</span></span><span>)->item;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fooItem</span></span><span>;
</span></span>
ဤတွင် ကလေးများ နည်းသည်ကလေးသူငယ်များအားသတ်သတ်မှတ်မှတ် namespace တစ်ခုတွင်ရရှိရန်အသုံးပြုသည်။ 'http://www.example.com/foo' သည် namespace ၏ URL ဖြစ်ပြီး, ပစ္စည်းသည် ကျွန်ုပ်တို့ဝင်ရောက်လိုသောဒြပ်စင်ဖြစ်သည်။
PHP ၏ Govern Nethat function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် XML ဖိုင်တွင် namespace များအားလုံးကိုအလွယ်တကူရရှိနိုင်ပါသည်။ ရှုပ်ထွေးသော XML ဖိုင်များနှင့်အတူ namespace များစွာဖြင့်ရှုပ်ထွေးသော XML ဖိုင်များနှင့်ဆက်ဆံရာတွင်ဤလုပ်ဆောင်ချက်သည်အထူးသဖြင့်အသုံးဝင်သည်။
XML ရှိ Namespace ကိုရယူရန် GetNamesPree function ကိုမည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ဤဆောင်းပါးသည်သင့်အားနားလည်ရန်ကူညီနိုင်လိမ့်မည်ဟုမျှော်လင့်ပါ။