XML စာရွက်စာတမ်းများနှင့်အလုပ်လုပ်သောအခါ Namespace သည်ပ conflicts ိပက်ခများကိုရှောင်ရှားရန်ဒြပ်စင်နှင့်ဂုဏ်သတ္တိများအမည်များကိုခွဲခြားရန်အသုံးများသောယန္တရားတစ်ခုဖြစ်သည်။ PHP တွင် XML စာရွက်စာတမ်းများကို dom extensions များမှတ ဆင့် ခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
GetDocnamesptiones () နည်းလမ်းသည် domDocument လူတန်းစားနှင့်သက်ဆိုင်သည်။ ၎င်းသည် Associative Array တစ်ခုဖြစ်ပြီးခင်းကျင်း၏သော့ချက်သည် namespace ၏သော့ချက်ဖြစ်သည်။ ၎င်းသည်သက်ဆိုင်ရာ namespace rii ဖြစ်သည်။ ဤနည်းလမ်းသည်အလွန်အသုံးဝင်သည်, အထူးသဖြင့် XML စာရွက်စာတမ်းများကိုနာမည်ဝှက်ထားသည့်နာမည်များစွာဖြင့်ကိုင်တွယ်သောအခါသက်ဆိုင်ရာ namespace ရှေ့ဆက်ကိုရရှိနိုင်ပါသည်။
ပထမ ဦး စွာ namespace ပါ 0 င်သည့် 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:ns1</span></span><span>=</span><span><span class="hljs-string">"http://www.example.com/ns1"</span></span><span> </span><span><span class="hljs-attr">xmlns:ns2</span></span><span>=</span><span><span class="hljs-string">"http://www.example.com/ns2"</span></span><span>>
</span><span><span class="hljs-tag"><<span class="hljs-name">ns1:item</span></span></span><span>>Item 1</span><span><span class="hljs-tag"></<span class="hljs-name">ns1:item</span></span></span><span>>
</span><span><span class="hljs-tag"><<span class="hljs-name">ns2:item</span></span></span><span>>Item 2</span><span><span class="hljs-tag"></<span class="hljs-name">ns2:item</span></span></span><span>>
</span><span><span class="hljs-tag"></<span class="hljs-name">root</span></span></span><span>>
</span></span>
ဒီ XML မှာ အမြစ် element ဟာ Uris နဲ့ NS1 NS1 နဲ့ NS2 ကိုသုံးသက်သုံးအသီးသီးကိုသုံးတယ်။
ထို့နောက်ကျွန်ုပ်တို့သည်ဤ XML စာရွက်စာတမ်းအား PHP မှတစ်ဆင့် load လုပ်ပြီး namespace ၏ရှေ့ဆက်ကိုရယူရန် GetDocnameptionST () နည်းလမ်းကိုအသုံးပြုသည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$xmlString</span></span><span> = <span class="hljs-string">'<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:ns1="http://www.example.com/ns1" xmlns:ns2="http://www.example.com/ns2">
<ns1:item>Item 1</ns1:item>
<ns2:item>Item 2</ns2:item>
</root>'</span>;
</span><span><span class="hljs-variable">$dom</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DOMDocument</span></span><span>();
</span><span><span class="hljs-variable">$dom</span></span><span>-></span><span><span class="hljs-title function_ invoke__">loadXML</span></span><span>(</span><span><span class="hljs-variable">$xmlString</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">$dom</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getDocNamespaces</span></span><span>();
</span><span><span class="hljs-comment">// output ကို namespace ရှေ့ဆက်</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$namespaces</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$prefix</span></span><span> => </span><span><span class="hljs-variable">$namespace</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Prefix: <span class="hljs-subst">$prefix</span></span></span><span>, Namespace URI: </span><span><span class="hljs-subst">$namespace</span></span><span>\n";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ကျွန်ုပ်တို့သည် XML string ကို loadxml () နည်းလမ်းဖြင့်ပထမဆုံးတင်ပါ။
ထို့နောက် Namespace ရှေ့ဆက်နှင့်သက်ဆိုင်သော uri နှင့်သက်ဆိုင်သော actirective ခင်းကျင်းသော GetDocnamespace () နည်းလမ်းကိုခေါ်ပါ။
နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်ဤခင်းကျင်းမှုများကို ဖြတ်. Namespace ရှေ့ဆက်နှင့်သက်ဆိုင်ရာ Uri ကိုထုတ်ပေးသည်။
အထက်ပါ PHP ကုဒ်ကိုဖွင့်ပြီးနောက်အောက်ပါနှင့်ဆင်တူသည် -
<span><span><span class="hljs-attr">Prefix:</span></span><span> </span><span><span class="hljs-string">ns1,</span></span><span> </span><span><span class="hljs-attr">Namespace URI:</span></span><span> </span><span><span class="hljs-string">http://www.example.com/ns1</span></span><span>
</span><span><span class="hljs-attr">Prefix:</span></span><span> </span><span><span class="hljs-string">ns2,</span></span><span> </span><span><span class="hljs-attr">Namespace URI:</span></span><span> </span><span><span class="hljs-string">http://www.example.com/ns2</span></span><span>
</span></span>
ဤအချက်က XML စာရွက်စာတမ်းတွင် Namespace NS1 နှင့် NS2 တွင်အသီးသီးကွဲပြားခြားနားသော URIS နှင့်ကိုက်ညီကြောင်းဖော်ပြသည်။
GetDocnameptionSTRESTRESTERS () နည်းလမ်းသည် XML စာရွက်စာတမ်းများမှအမည်များအားလုံး၏ရှေ့ဆက်များနှင့် URIS ကိုထုတ်ယူနိုင်သည့်အလွန်အဆင်ပြေသောကိရိယာတစ်ခုဖြစ်သည်။ ရှုပ်ထွေးသော XML စာရွက်စာတမ်းများကိုခွဲခြမ်းစိတ်ဖြာခြင်းသည်အထူးသဖြင့်အမည်စာရင်းများစွာကိုပြုပြင်ရန်လိုအပ်သည့်အခါ၎င်းသည်အသုံးဝင်သည်။
namespace နှင့် getdocnameshoute () နည်းလမ်းကိုမှန်ကန်စွာအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် XML အချက်အလက်များကိုပိုမိုထိရောက်စွာခွဲခြမ်းစိတ်ဖြာနိုင်ပြီး,