လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP စစ်ဆင်ရေး XML Document: XPath မေးမြန်းမှုနှင့်လျှောက်လွှာဥပမာခွဲခြမ်းစိတ်ဖြာခြင်း

PHP စစ်ဆင်ရေး XML Document: XPath မေးမြန်းမှုနှင့်လျှောက်လွှာဥပမာခွဲခြမ်းစိတ်ဖြာခြင်း

gitbox 2025-06-30

မိတ်ဆက်ပေး

PHP တွင် XML စာရွက်စာတမ်းများကိုကိုင်တွယ်သောအခါ XPath သည် developer များကိုမြန်မြန်ဆန်ဆန်နေရာချထားရန်နှင့် Utements များကို XML တွင်နေရာချထားရန်ကူညီပေးသောအလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် XML စာရွက်စာတမ်းများကိုရှာဖွေရန် PHP တွင် XPAT ကိုမည်သို့အသုံးပြုရမည်ကိုဖော်ပြရန်ဥပမာများစွာကိုအသုံးပြုမည်။

XML နှင့် XPATH ကိုမိတ်ဆက်ပေးခြင်း

XML (adulateible markup language) သည်အချက်အလက်များကိုသိုလှောင်ခြင်းနှင့်ထုတ်လွှင့်ခြင်းအတွက်အသုံးပြုလေ့ရှိသော Markup Language ဖြစ်သည်။ ၎င်းတွင်ပြောင်းလွယ်ပြင်လွယ်ဖွဲ့စည်းပုံရှိပြီးကွဲပြားခြားနားသောဒေတာဖလှယ်မှုအခြေအနေများအတွက်သင့်တော်သည်။ XPath သည် XML စာရွက်စာတမ်းများတွင် node များကိုရှာဖွေရန်အသုံးပြုသောဘာသာစကားဖြစ်သည်။ ၎င်းသည် node များ၏တည်နေရာကိုလမ်းကြောင်းဖော်ပြချက်များမှတဆင့်ဖော်ပြသည်။

XPATH selector ကိုအသုံးပြုခြင်း

PHP တွင် Domxpath အတန်းအစားမှတဆင့် node များကိုရှာဖွေရန် XPATH ကိုအသုံးပြုရန် DOM extives များကိုသုံးနိုင်သည်။ ဒီမှာရိုးရှင်းတဲ့ XML ဥပမာတစ်ခုပါ။

 
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J.K. Rowling</author>
    <year>2003</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">PHP Cookbook</title>
    <author>David Sklar</author>
    <year>2014</year>
    <price>40.00</price>
  </book>
</bookstore>

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

ပထမ ဦး စွာကျွန်ုပ်တို့သည် Book node များအားလုံးကိုရွေးချယ်ရန် XPath ကိုသုံးနိုင်သည်။ ဤတွင်ဤလုပ်ဆောင်ချက်ကိုအကောင်အထည်ဖော်သည့် PHP Code ကိုဤတွင်ဖော်ပြထားသည်။

 
$xml = new DOMDocument();
$xml->load('books.xml');
$xpath = new DOMXPath($xml);
$books = $xpath->query('//book');
foreach ($books as $book) {
    // တစ်ခုချင်းစီကိုစာအုပ်တစ်အုပ်
}

အထက်ပါကုဒ်တွင် XPhath Expression "// စာအုပ်" သည် "စာအုပ်" node များကိုရွေးချယ်လိမ့်မည်။ ထို့နောက် `foreach 'loop ကိုဤ node များမှတစ်ဆင့် အသုံးပြု. ၎င်းတို့ကိုလုပ်ဆောင်ရန်အသုံးပြုနိုင်သည်။

တိကျတဲ့ attribute တွေနဲ့အတူစာအုပ် node ကိုရွေးပါ

ထို့နောက်ကျွန်ုပ်တို့သည်တိကျသော attribute များအပေါ် အခြေခံ. node များကိုရွေးချယ်နိုင်သည်။ ဥပမာအားဖြင့်, "ချက်ပြုတ်ခြင်း" အမျိုးအစားရှိသောစာအုပ်များအားလုံးကိုရွေးချယ်ပါ။

 
$xpath = new DOMXPath($xml);
$books = $xpath->query('//book[@category="cooking"]');
foreach ($books as $book) {
    // နှင့်အတူအပြောင်းအလဲနဲ့ "cooking" အမျိုးအစားများအတွက်စာအုပ်များ
}

XPath Expression "// စာအုပ် [@ အမျိုးအစား = 'ချက်ပြုတ်']" "]" "ချက်ပြုတ်" အမျိုးအစား node များအားလုံးကိုရွေးချယ်နိုင်သည်။

သတ်သတ်မှတ်မှတ်ကလေး node တစ်ခုနှင့်အတူစာအုပ် node ကိုရွေးချယ်ပါ

စာအုပ်များကိုကလေး node များတည်ရှိမှုအားဖြင့်စစ်ထုတ်နိုင်သည်။ ဥပမာ "ခေါင်းစဉ်" ကလေး node ကိုပါသောစာအုပ်များအားလုံးကိုရွေးချယ်ပါ။

 
$xpath = new DOMXPath($xml);
$books = $xpath->query('//book[title]');
foreach ($books as $book) {
    // အပြောင်းအလဲနဲ့ပါဝင်သည် "title" ကလေးများအတွက်စာအုပ်များ
}

ဤ XPhath Expression "// စာအုပ် [ခေါင်းစဉ်]" သည်အနည်းဆုံး "ခေါင်းစဉ်" ကလေးတစ် ဦး တည်းသောကလေး node တစ်ခုပါသောစာအုပ် node များအားလုံးကိုရွေးချယ်သည်။

နိဂုံးချုပ်အားဖြင့်

XPATH နှင့်အတူ developer များသည် PHP တွင် XML စာရွက်စာတမ်းများကို PHP တွင်ထိထိရောက်ရောက်ကိုင်တွယ်နိုင်သည်, ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သော PHP နှင့် XML စစ်ဆင်ရေးစွမ်းရည်များကိုပိုမိုကောင်းမွန်အောင်ကူညီရန်ဘုံ XPather Query applications များကိုမျှော်လင့်ကြောင်းဖော်ပြထားသည်။