XML_GEGGET_CURRENT_CONUNDIFUN_NOSBUBER () function သည်လက်ရှိ XML parser မှညွှန်ပြသောကော်လံနံပါတ်ကိုပြန်ပို့သည်။ XML ဖိုင်ကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ parser သည်ဖိုင်အကြောင်းအရာကိုလိုင်းဖြင့်ဖတ်လိမ့်မည်။ XML_GEget_current_columbumberumumber () သည် Parsing လုပ်ငန်းစဉ်ကို debing လုပ်ရန်အထူးအရေးကြီးသည်။
ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">xml_get_current_column_number</span></span><span> ( resource </span><span><span class="hljs-variable">$parser</span></span><span> )
</span></span>
$ Parser - XML parser ၏အရင်းအမြစ်လက်ကိုင်, xml_parser_Create () မှတဆင့်ဖန်တီးသည်။
အဆိုပါ function ကိုလက်ရှိကော်လံ၏အနေအထားကိုညွှန်ပြတဲ့ကိန်းဂဏန်းတစ်ခုပြန်ပို့သည်။
XML_GET_CURRENT_CORNUND_NOUMBERS သည် မှန်ကန်သော XML parser အရင်းအမြစ်အပေါ်မှီခိုသည်။ အကယ်. function ကိုခေါ်သည့်အခါ parser ကိုစနစ်တကျဖန်တီးခြင်းသို့မဟုတ်အစပျိုးခြင်းမပြုပါက function သည်မှန်ကန်သောကော်လံနံပါတ်ကိုမပြန်နိုင်ပါ။
Womenroundound - XML parser ကို XML_GEget_current_columbumbumber ကို မခေါ်မီအောင်မြင်စွာဖန်တီးနိုင်အောင်အောင်မြင်စွာဖန်တီးထားပြီးပါရှီက XML ဒေတာများကိုစတင်ခွဲထုတ်လိုက်ခြင်းကိုသေချာအောင်လုပ်ပါ။
<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-title function_ invoke__">xml_parse</span></span><span>(</span><span><span class="hljs-variable">$parser</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-title function_ invoke__">xml_get_current_column_number</span></span><span>(</span><span><span class="hljs-variable">$parser</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>
XML ခွဲခြမ်းစိတ်ဖြာခြင်းကိုပြုလုပ်သောအခါ XML အချက်အလက်များကိုမှားယွင်းစွာကိုင်တွယ်ဖြေရှင်းလျှင် XML_GET_CURRENT_CORUMEN_NOUMBERMATED ကိုကြုံတွေ့ရပါက XML_Get_current_columbumer ကိုပြန်ပို့နိုင်သည်။ များသောအားဖြင့်၎င်းသည် parsing လုပ်ငန်းစဉ်အတွင်းအမှားတစ်ခုဖြစ်ပွားနေသောကြောင့်၎င်းသည်ကော်လံနံပါတ်ကိုမှန်ကန်စွာမွမ်းမံခြင်းမပြုရန်ဖြစ်ပေါ်စေသည်။
Fourroundound : XML_GEget_Current_Columbumber () မသုံးမီ xml ဒေတာအားလုံးသည်သင့်လျော်သောစိစစ်အတည်ပြုချက်ကိုသေချာအောင်လုပ်ခြင်းနှင့်အမှားအယွင်းများအတွင်းအမှားအယွင်းများမရှိကြောင်းသေချာအောင်လုပ်ပါ။ သင်သည် XML_Get_error_EREERROR_CODE () ကိုသုံးနိုင်သည်။
<span><span><span class="hljs-keyword">if</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>) != XML_ERROR_NONE) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"XML Error: "</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>
အကယ်. XML ဖိုင် (သို့) ဒေတာများကိုမှန်ကန်စွာမဖတ်ပါကသို့မဟုတ်ဖိုင်အမျိုးအစားအချို့ကိုခွဲခြမ်းစိတ်ဖြာခြင်းမပြုနိုင်ပါက XML_GEget_current_columbumumbumber () မှ ပြန်လာသောတန်ဖိုးသည်မတိကျဖြစ်သွားနိုင်သည်။ အထူးသဖြင့်ကြီးမားသောဖိုင်များကိုကိုင်တွယ်သည့်အခါဖိုင်များကိုအတုံးများမဖတ်ပါက၎င်းသည်ကော်လံနံပါတ်တွင်သွေဖည်မှုများကိုဖြစ်ပေါ်စေနိုင်သည်။
ဖြေရှင်းချက် - ဖိုင်ကြီးများကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ (XML_Parse) ၏ chunked chople ()) ကိုသုံးပါ။
<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-variable">$fp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'file.xml'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fread</span></span><span>(</span><span><span class="hljs-variable">$fp</span></span><span>, </span><span><span class="hljs-number">1024</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">$data</span></span><span>, </span><span><span class="hljs-title function_ invoke__">feof</span></span><span>(</span><span><span class="hljs-variable">$fp</span></span><span>))) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Error: "</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__">fclose</span></span><span>(</span><span><span class="hljs-variable">$fp</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>
အကယ်. အထူးအက္ခရာများကို XML ဖိုင် (မမြင်ရသောဇာတ်ကောင်များ, ထိန်းချုပ်ခြင်းဇာတ်ကောင်များစသဖြင့်) သို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာနေစဉ်အတွင်းဒေတာ format ပြောင်းလဲခြင်းကဲ့သို့သောဒေတာပုံစံပြောင်းလဲခြင်းသည်ကော်လံနံပါတ်တွက်ချက်မှုအမှားများကိုဖြစ်စေနိုင်သည်။
ဖြေရှင်းချက် - XML အချက်အလက်များကိုပြုပြင်သည့်အခါဒေတာရှိအထူးအက္ခရာများကိုသန့်ရှင်းရေးလုပ်ရန်သတိထားပါ။ XML ဖိုင်၏ encoding format သည်တသမတ်တည်းဖြစ်ကြောင်းသေချာစွာစစ်ဆေးပါ။
<span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">'/[\x00-\x1F\x7F]/'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>); </span><span><span class="hljs-comment">// ရှင်းရှင်းလင်းလင်းမမြင်ရတဲ့ဇာတ်ကောင်</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-title function_ invoke__">xml_parse</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>);
</span></span>
အချို့ဖြစ်ရပ်များတွင် XML_GEget_Current_COrrent_Column_number ကို XML parser သည်ခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာခြင်းမပြုခဲ့ပါကဤအချိန်၌ပြန်လာသောကော်လံနံပါတ်သည်သဘာဝမတိကျသည့်အခါဟုခေါ်ဝေါ်သဖြင့်ခေါ်နိုင်သည်။
ဖြေရှင်းချက် - XML_GEget_current_columbumn_noubumumbumbumbumber () () ကိုခေါ်ဆိုခြင်း၏အချိန်ကိုက်သည်အလွန်အရေးကြီးသည်။ ၎င်းကိုခွဲခြမ်းစိတ်ဖြာခြင်းမပြုမီသို့မဟုတ်ပြီးနောက်မဟုတ်ဘဲခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်းဟုခေါ်ခံရရမည်။
<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-title function_ invoke__">xml_parse</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>, </span><span><span class="hljs-variable">$data</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-title function_ invoke__">xml_get_current_column_number</span></span><span>(</span><span><span class="hljs-variable">$parser</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>