XML_Parser_create_ns သည် PHP ၏ XML extension တွင် function တစ်ခုဖြစ်ပြီး XML ကိုခွဲခြမ်းစိတ်ဖြာနေစဉ်အမည်များကိုလုပ်ဆောင်ရန်ခွင့်ပြုသည်။ ၎င်း၏ function ကိုလက်မှတ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">xml_parser_create_ns</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$separator</span></span><span>);
</span></span>
$ encoding : XML စာရွက်စာတမ်း၏ဇာတ်ကောင် encoding ကိုသတ်မှတ်ပါ။
$ Separator - namespace အတွက် delimiter ကိုသတ်မှတ်ပါတယ် ။
Namespace Superator က element တစ်ခုရဲ့ namespace ကို element name နဲ့ဘယ်လိုပေါင်းစပ်သလဲဆိုတာဆုံးဖြတ်သည်။ ပုံမှန်အားဖြင့် Namespace Separator သည်အူမကြီး ( :) သည်ကိုလိုနီ (:) သို့သော် XML စာရွက်စာတမ်း၏ဖွဲ့စည်းပုံနှင့်လိုအပ်ချက်များပေါ် မူတည်. အခြားအက္ခရာများကိုလည်းခွဲထွက်သူများအဖြစ်အသုံးပြုနိုင်သည်။
Namespace Seaschator ၏အဓိကလုပ်ဆောင်ချက်မှာ XML element ၏ namlime uri မှ XML element ၏ဒေသခံအမည်ကိုခွဲခြားရန်ဖြစ်သည်။ ဥပမာအားဖြင့်, XML တွင် namespace မပါဘဲ element တစ်ခု၏အမည်မှာရိုးရှင်းသော string တစ်ခုသာဖြစ်သည်။ သို့သော် namespace တစ်ခုရှိပါက element name သည် namespace ၏ပုံစံဖြစ်လာသည်။ item သည် namespace uri နှင့် item ၏ရှေ့ဆက်ဖြစ်သည်။ Separator ကိုသတ်မှတ်ခြင်းအားဖြင့်ဤပုံစံတွင်ဒေသခံအမည်များနှင့်အမည်များကိုမည်သို့ခွဲခြားရမည်ကိုသင်ဆုံးဖြတ်နိုင်သည်။
ဥပမာအားဖြင့်, အူမကြီးကိုသတ်မှတ်ပါ ။
<span><span><span class="hljs-tag"><<span class="hljs-name">namespace:item</span></span></span><span>>Some value</span><span><span class="hljs-tag"></<span class="hljs-name">namespace:item</span></span></span><span>>
</span></span>
အကယ်. ကျွန်ုပ်တို့သည် delimiter ကိုအခြားဇာတ်ကောင်တစ်ခုသို့သတ်မှတ်ထားပါက (ဥပမာ - ဂ.G . | ),
<span><span><namespace|item>Some value</namespace|item>
</span></span>
xml_parser_create_ns ကိုအသုံးပြုပြီး namespace sextator များကိုချိန်ညှိသောအခါအာရုံစိုက်ရန်အရာများစွာရှိသည်။
Suppressife Selection တွင်သတိပြုရန် :
XML တွင်တွေ့ရမည့်အက္ခရာများကိုရွေးချယ်ခြင်းမပြုရန်ခွဲခြမ်းစိတ်ဖြာရွေးချယ်ခြင်းကိုရွေးချယ်သည့်အခါသတိထားပါ။ ဥပမာအားဖြင့်, < နှင့် > ကဲ့သို့သော XML ရှိအက်ခရာအချို့ကိုသိုလှောင်ထားသည့်စာလုံးများကိုသိုလှောင်ထားပြီး delimiters များအဖြစ်အသုံးမပြုပါ။ - အသုံးအများဆုံးအသုံးပြုသော delimiter သည် XML ရှိသီးသန့်အက္ခရာများနှင့်မဆန့်ပါ။
ရှေ့နောက်ဆက်ပေးခြင်း
XML Document တစ်ခုတွင် Namespace Separators ၏အသုံးပြုမှုသည်တသမတ်တည်းဖြစ်သင့်သည်။ အူမကြီး ( :) ကို delimiter အဖြစ်ရွေးချယ်ပါကဒြပ်စင်နှင့်ဂုဏ်သတ္တိများ၏အမည်များအားလုံးကိုဤစည်းမျဉ်းကိုလိုက်နာသင့်သည်။ ရောနှောထားသောကွဲပြားခြားနားသော delimiters များသည် Parser ကို XML စာရွက်စာတမ်းအားမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာရန်ပျက်ကွက်စေနိုင်သည်။
ကွဲပြားခြားနားသော namespace ရှေ့ဆက်နှင့်လိုက်လျောညီထွေဖြစ်အောင် :
Namespace ရှေ့ဆက်နှင့်ခွဲထုတ်သူများသည် XML element များကိုဖော်ပြသည့် XML element များကိုမည်သို့သတ်မှတ်သည်ကိုပူးတွဲဆုံးဖြတ်သည်။ ဥပမာ XML document တစ်ခုတွင်အမည်စာရင်းများစွာရှိလျှင်၎င်းတို့၏ရှေ့ဆက်များသည်ကွဲပြားသည် ( NS1: item and ns2: item ကဲ့သို့သော) ကွဲပြားနိုင်သည်။ ကွဲပြားခြားနားသောအမည်များကိုခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်းမှန်ကန်သောအမည်များကိုမှန်ကန်စွာခွဲခြားနိုင်ရန်စာရွက်စာတမ်းအတွက်သင့်တော်သော delimiter ကိုရွေးချယ်ပါ။
XML processing libraries ၏သဟဇာတကိုစဉ်းစားပါ -
XML_Parser_create_ns ကို အသုံးပြုသောအခါရွေးချယ်ထားသည့်အမည်များခွဲနေသူသည်အခြားစာကြည့်တိုက်များသို့မဟုတ်ကိရိယာများကိုမည်သို့ကိုင်တွယ်သည်ကိုမဆန့်ကျင်ကြောင်းသေချာပါစေ။ အကယ်. သင်သည်အခြားစနစ်များသို့မဟုတ်ကိရိယာများနှင့်အတူ XML စာရွက်စာတမ်းများကိုမျှဝေနေပါက,
Property Namespace ကိုကိုင်တွယ်ပါ ။
element element အပြင် Namespace Superators သည် XML Properties ကိုသက်ရောက်မှုရှိသည်။ အကယ်. XML element ၏ namespace သည်စိတ်ကြိုက် delimiter ကိုအသုံးပြုပါက attribute namespaces သည်ထို element အားလုံး၏ attribute namespes သည်တူညီသောခွဲခြမ်းစိတ်ဖြာစည်းမျဉ်းများကိုလိုက်နာသင့်သည်။ ဥပမာအားဖြင့်, attribute namespace: element namespace ၏ item: attres attres attres attres attrice ကွဲပြားခြားနားသော delimiters အသုံးပြုသောအခါတသမတ်တည်းရှိနေဆဲဖြစ်ပါသည်။
XML စာရွက်စာတမ်းများကို XML_Parser_create_ns ကို အသုံးပြု. Namespace များနှင့်မည်သို့ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်စိတ်ကြိုက် namespace searchator များကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာနိုင်ကြောင်းပြသသောရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<span><span><span class="hljs-variable">$xml_data</span></span><span> = <span class="hljs-string">'<?xml version="1.0" encoding="UTF-8"?>
<ns:item xmlns:ns="http://example.com">
<ns:description>Item description</ns:description>
</ns:item>'</span>;
</span><span><span class="hljs-variable">$parser</span></span><span> = </span><span><span class="hljs-title function_ invoke__">xml_parser_create_ns</span></span><span>(</span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-string">':'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">xml_parse_into_struct</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>, </span><span><span class="hljs-variable">$xml_data</span></span><span>, </span><span><span class="hljs-variable">$values</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">xml_parser_free</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>);
</span><span><span class="hljs-comment">// အဆိုပါ parsing ရလဒ် print</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$values</span></span><span>);
</span></span>
ဤဥပမာတွင် element <ns: item> နှင့် <NS: Description> နှင့် <NS: Descries Descries Description> နှင့် <NS: Description> နှင့် <ns: description> နှင့် <ns: items description> နှင့် <ns: Description> ပါ 0 င်သည့် XML စာရွက်စာတမ်းတစ်ခုဖန်တီးသည်။ XML_Parser_create_ns ကို အသုံးပြုသောအခါကျွန်ုပ်တို့သည် Element Name ကို namespace နှင့်မှန်ကန်စွာဆက်စပ်နိုင်ကြောင်းသေချာစေရန် namespace searchator အဖြစ် သတ်မှတ်သည် ။
XML ကို xml_parser_create_ns ကို သုံး. namespace များနှင့်ခွဲခြမ်းစိတ်ဖြာသည့်အခါသင့်လျော်သော namespace searchator ကိုရွေးချယ်ရန်အရေးကြီးသည်။ မှန်ကန်သောခွဲခြမ်းစိတ်ဖြာခြင်းသည် XML element များနှင့် attribute များမှန်ကန်စွာခွဲခြားထားပြီးကိရိယာများနှင့်စနစ်အမျိုးမျိုးကို ဖြတ်. သဟဇာတဖြစ်သည်။ delimiter ကိုရွေးချယ်သည့်အခါစာလုံးများကိုထိန်းသိမ်းရန် XML ကိုအသုံးပြုခြင်းကိုရှောင်ရှားသင့်သည်။
Namespace Seatchator များနှင့်ဆက်စပ်သောထည့်သွင်းစဉ်းစားမှုများနှင့်ဆက်စပ်သောထည့်သွင်းစဉ်းစားမှုများ၏အခန်းကဏ် ence ကိုနားလည်ခြင်းအားဖြင့် developer များက XML အချက်အလက်များကို namespace များဖြင့်ပိုမိုပြောင်းလွယ်ပြင်လွယ်နိုင်ပြီးတည်ငြိမ်မှုနှင့်လိုက်လျောညီထွေထိရောက်မှုကိုမတူညီသောပတ်ဝန်းကျင်တွင်သေချာစေနိုင်သည်။