လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP XPATH လုပ်ဆောင်ချက်နှင့်အတူ XML ကို parml ကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာနည်း။ အသေးစိတ်အသုံးပြုမှုဥပမာမျှဝေခြင်း

PHP XPATH လုပ်ဆောင်ချက်နှင့်အတူ XML ကို parml ကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာနည်း။ အသေးစိတ်အသုံးပြုမှုဥပမာမျှဝေခြင်း

gitbox 2025-08-25

2 ။ XPath မှမိတ်ဆက်

XPath သည် XML စာရွက်စာတမ်းများတွင် node များကိုရှာဖွေရန်အသုံးပြုသောဘာသာစကားဖြစ်သည်။ Simplexml သည် XPath () နည်းလမ်းဖြင့် XPAPH အသုံးအနှုန်းများကို သုံး. node များရှာဖွေမေးမြန်းရန် XPath အသုံးအနှုန်းများနှင့်ပါ 0 င်သည်။


3 ။ XPATH နှင့်အတူ xml parml ၏ဥပမာ

ကျွန်ုပ်တို့သည်အောက်ပါ XML မှ စာအုပ် node များအားလုံးကိုရယူရန်လိုသည်ဆိုပါစို့။ စာရေးသူသည် Li Si ၏ခေါင်းစဉ်စာအုပ်ဖြစ်သည်ဆိုပါစို့။

 <span><span><span class="hljs-variable">$xmlString</span></span><span> = <span class="hljs-string">&lt;&lt;&lt;XML
&lt;books&gt;
    &lt;book id="1"&gt;
        &lt;title&gt;PHPစတင်အသုံးပြုခြင်း&lt;/title&gt;
        &lt;author&gt;Zhang San&lt;/author&gt;
    &lt;/book&gt;
    &lt;book id="2"&gt;
        &lt;title&gt;XML</span>အမှန်တကယ်တိုက်ခိုက်ရေးခွဲခြမ်းစိတ်ဖြာ&lt;/title&gt;
        &lt;author&gt;li si&lt;/author&gt;
    &lt;/book&gt;
    &lt;book id=</span><span><span class="hljs-string">"3"</span></span><span>&gt;
        &lt;title&gt;နက်ရှိုင်းသောနားလည်မှုPHP&lt;/title&gt;
        &lt;author&gt;li si&lt;/author&gt;
    &lt;/book&gt;
&lt;/books&gt;
XML;

</span><span><span class="hljs-variable">$xml</span></span><span> = </span><span><span class="hljs-title function_ invoke__">simplexml_load_string</span></span><span>(</span><span><span class="hljs-variable">$xmlString</span></span><span>);

</span><span><span class="hljs-comment">// XPathမေးမြန်းauthor为li si的booknode</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$xml</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">xpath</span></span><span>(</span><span><span class="hljs-string">"//book[author='li si']"</span></span><span>);

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$book</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"စာအုပ်ခေါင်းစဉ်:"</span></span><span> . </span><span><span class="hljs-variable">$book</span></span><span>-&gt;title . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span></span>

ရလဒ်များအစက်အပြောက်:

 <span><span>စာအုပ်ခေါင်းစဉ်:</span><span><span class="hljs-type">XML</span></span><span>အမှန်တကယ်တိုက်ခိုက်ရေးခွဲခြမ်းစိတ်ဖြာ
စာအုပ်ခေါင်းစဉ်:နက်ရှိုင်းသောနားလည်မှုPHP
</span></span>

4 ။ XPath Expression ဖော်ပြချက်

  • // စာအုပ် - စာအုပ် node များအားလုံးကိုရွေးချယ်ပါ

  • [စာရေးသူ = 'li si'] : စစ်ထုတ်ခြင်းအခြေအနေကိုစာရေးခြင်း Node ကိုရွေးချယ်ခြင်း "Li Si" ပါသောစာအုပ်ကိုရွေးချယ်ပါ။


V. ပိုမိုလက်တွေ့ကျသောဥပမာများ

1 ။ node attribute ကိုရယူပါ

စာအုပ် အားလုံး၏ ID attribute များကိုရယူပါ။

 <span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$xml</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">xpath</span></span><span>(</span><span><span class="hljs-string">"//book"</span></span><span>) </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$book</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"စာအုပ်ID:"</span></span><span> . </span><span><span class="hljs-variable">$book</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span></span>

2 ။ ရှုပ်ထွေးသောစုံစမ်းမှု

စာအုပ်များကို ID ကို 1 ထက်ကြီးသောစာအုပ်များရယူပါ။

 <span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$xml</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">xpath</span></span><span>(</span><span><span class="hljs-string">"//book[@id &gt; 1]"</span></span><span>);
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$book</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$book</span></span><span>-&gt;title . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span></span>

6 ။ အကျဉ်းချုပ်

  • Simplexml_load_string () သို့မဟုတ် simplexml_load_file ကို အသုံးပြု. XML ကိုတင်ပါ။

  • XPath () နည်းလမ်းကို XPath အသုံးအနှုန်းများဖြင့်နေရာချထားရန်ပြောင်းလွယ်ပြင်လွယ်စေရန်နည်းလမ်းကိုသုံးပါ။

  • node ကိုဂုဏ်သတ္တိများ attribute arrays မှတဆင့်ဝင်ရောက်နိုင်ပါတယ်။

  • XPath အသုံးအနှုန်းများသည်အစွမ်းထက်ပြီးစီခြင်းမျိုးစုံကို filtering နှင့် patericing provideing ကိုထောက်ပံ့နိုင်သည်။

Simplexml နှင့် XPath ပေါင်းစပ်မှုကိုကျွမ်းကျင်သူများသည် PHP developer များအား XML data များကို effecter data များအားလုံးကိုပိုမိုထိရောက်စွာလုပ်ဆောင်နိုင်ပြီးအစီအစဉ်ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေသည်။