<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤကုဒ်၏ဤအပိုင်းသည်ဆောင်းပါး၏အကြောင်းအရာများနှင့်လုံးဝမသက်ဆိုင်ပါ,တစ် ဦး ရှေ့ဆက်ကုဒ်ဥပမာတစ်ခုသာအဖြစ်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အကြောင်းကိုဖတ်ရှုဖို့ကြိုဆိုပါတယ် XML ခွဲခြမ်းစိတ်ဖြာရေးနည်းပညာဆောင်းပါးများ!"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
* သင်ကြား xml_set_processing_instruction_handler တည်နေ XML ခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်လုပ်ဆောင်ချက်များကိုနှင့်လျှောက်လွှာဥပမာ,
* parsing ထိရောက်မှုကိုတိုးတက်အောင်လုပ်နည်း?
*
* တည်နေ PHP လုပ်ကိုင်ခြင်း XML ဘယ်အချိန်မှာဖိုင်,XML မိစ်ဆာ(ကဲ့သို့ expat)Rich Callback function interfaces များပေးသည်,
* တွင် xml_set_processing_instruction_handler ၎င်းကိုအထူးကိုင်တွယ်ရန်အသုံးပြုသည် XML ညွှန်ကြားချက်ညွှန်ကြားချက်(Processing Instruction,အကျဉ်း PI)နည်းလမ်း。
*
* 什么是ညွှန်ကြားချက်ညွှန်ကြားချက်?
* ညွှန်ကြားချက်ညွှန်ကြားချက်是 XML အထူးအမှတ်အသား,通常用于告诉应用程序ကဲ့သို့何处理某部分 XML ကေြနပ်သော。
* 例ကဲ့သို့ <?xml-stylesheet type="text/xsl" href="style.xsl"?> 是一个常见的ညွှန်ကြားချက်ညွှန်ကြားချက်。
*
* xml_set_processing_instruction_handler ၏အခန်းကဏ်။:
* ဒီ function ကို callback function ကိုသတ်မှတ်ရန်အသုံးပြုသည်,专门捕捉သုံးသပ်ကြည့်ရှုခြင်း过程中遇到的ညွှန်ကြားချက်ညွှန်ကြားချက်,
* 从而能够တည်နေသုံးသပ်ကြည့်ရှုခြင်း时对这些指令进行自定义操作,比ကဲ့သို့提取信息、သစ်ခုတ်、အချို့သောညွှန်ကြားချက်များကို filter လုပ်ပါ။。
*
* သဒ္ဒါ:
* bool xml_set_processing_instruction_handler ( resource $parser , callable $handler )
*
* parameter ကိုဖော်ပြချက်:
* - $parser:XML မိစ်ဆာ资源。
* - $handler:处理ညွှန်ကြားချက်ညွှန်ကြားချက်的回调函数,နှစ်ခု parameters တွေကိုလက်ခံရရှိ:ညွှန်ကြားချက်ညွှန်ကြားချက်的目标(target)和ကေြနပ်သော(data)。
*
* ကြည့်ရှုပါ:
* - 需要针对特定ညွှန်ကြားချက်ညွှန်ကြားချက်进行特殊处理时。
* - အကောင်အထည်ဖော် XML Preprocessing လုပ်ငန်းစဉ်。
* - 过滤无用的ညွှန်ကြားချက်ညွှန်ကြားချက်,နောက်ဆက်တွဲအပြောင်းအလဲနဲ့ထိရောက်မှုတိုးတက်အောင်。
*
* လျှောက်လွှာဥပမာ:
*/</span>
</span><span><span class="hljs-comment">// နမူနာ XML ကေြနပ်သော(ဖိုင်တစ်ခုသို့မဟုတ် string ကိုမှယူဆ)</span></span><span>
</span><span><span class="hljs-variable">$xmlData</span></span><span> = <span class="hljs-string"><<<XML
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<root>
<item>ကေြနပ်သော1</item>
<?custom-instruction data="example"?>
<item>ကေြနပ်သော2</item>
</root>
XML</span>;
</span><span><span class="hljs-comment">// ဖန်တီး XML မိစ်ဆာ</span></span><span>
</span><span><span class="hljs-variable">$parser</span></span><span> = </span><span><span class="hljs-title function_ invoke__">xml_parser_create</span></span><span>();
</span><span><span class="hljs-comment">// 定义处理ညွှန်ကြားချက်ညွှန်ကြားချက်的回调函数</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">piHandler</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$parser</span></span></span><span>, </span><span><span class="hljs-variable">$target</span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ညွှန်ကြားချက်ညွှန်ကြားချက်目标: <span class="hljs-subst">$target</span></span></span><span>\n";
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ညွှန်ကြားချက်ညွှန်ကြားချက်အချက်များ: <span class="hljs-subst">$data</span></span></span><span>\n";
}
</span><span><span class="hljs-comment">// 绑定ညွှန်ကြားချက်ညွှန်ကြားချက်处理器</span></span><span>
</span><span><span class="hljs-title function_ invoke__">xml_set_processing_instruction_handler</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>, </span><span><span class="hljs-string">"piHandler"</span></span><span>);
</span><span><span class="hljs-comment">// သုံးသပ်ကြည့်ရှုခြင်း XML အချက်များ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">xml_parse</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>, </span><span><span class="hljs-variable">$xmlData</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>)) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">"XML သုံးသပ်ကြည့်ရှုခြင်း错误: %s တည်နေ行 %d"</span></span><span>,
</span><span><span class="hljs-title function_ invoke__">xml_error_string</span></span><span>(</span><span><span class="hljs-title function_ invoke__">xml_get_error_code</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>)),
</span><span><span class="hljs-title function_ invoke__">xml_get_current_line_number</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>)));
}
</span><span><span class="hljs-comment">// 释放မိစ်ဆာ资源</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 class="hljs-comment">/*
* parsing ထိရောက်မှုကိုတိုးတက်အောင်လုပ်နည်း?
* 1. လိုအပ်သော callback လုပ်ဆောင်ချက်များကိုသာမှတ်ပုံတင်ထားသည်
* ဖြစ်ရပ်အားလုံးအတွက်ပရိုဆက်ဆာကိုမှတ်ပုံတင်ရန်မလိုအပ်ပါ,callback function ကိုခေါ်ဆိုမှုများကိုလျှော့ချပါ。
*
* 2. တည်နေညွှန်ကြားချက်ညွှန်ကြားချက်回调中避免复杂计算
* 只做必要的သုံးသပ်ကြည့်ရှုခြင်း和存储,避免阻塞သုံးသပ်ကြည့်ရှုခြင်း流程。
*
* 3. အသုံးမ 0 င်စစ်ထုတ်ခြင်းညွှန်ကြားချက်များ
* 利用回调函数快速识别并跳过无用ညွှန်ကြားချက်ညွှန်ကြားချက်,အရင်းအမြစ်များကိုသိမ်းပါ。
*
* 4. 使用分块သုံးသပ်ကြည့်ရှုခြင်း
* မှန်သော XML 文件分块သုံးသပ်ကြည့်ရှုခြင်း,callback function ကို၏ပေါင်းစည်းဆွေးနွေးခြင်း,မှတ်ဉာဏ်ဖိအားကိုလျှော့ချပါ。
*
* အကျဉ်းချုပ်:
* xml_set_processing_instruction_handler ဖမ်းယူနှင့်အပြောင်းအလဲနဲ့ထောက်ပံ့ပေးပါသည် XML ညွှန်ကြားချက်ညွှန်ကြားချက်的有效手段。
* ကျိုးကြောင်းဆီလျော်ကိုအသုံးပြုခြင်းအားဖြင့်,တိုးမြှင့်နိုင်ပါသည် XML သုံးသပ်ကြည့်ရှုခြင်း的灵活性和效率,
* 同时针对不同ညွှန်ကြားချက်ညွှန်ကြားချက်做出自定义响应,ခြုံငုံလျှောက်လွှာစွမ်းဆောင်ရည်ကိုတိုးတက်အောင်。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
သက်ဆိုင်သောတက်(ဂ်)များ:
XML