XPath စက်တင်

XPath ကို XML စာရင်းတွင် လိပ်ခြင်းများ သို့မဟုတ် လိပ်ခြင်းအုပ်စု ကို လိပ်ခြင်းပုံ ကို အသုံးပြု၍ လိပ်ခြင်းပြုသည်။ လိပ်ခြင်းများ သည် လိပ်ခြင်းပုံ (path) သို့မဟုတ် အပိုင်းအခြား (steps) ကို အသုံးပြု၍ လိပ်ခြင်းပြုသည်။

XML အမှတ်အသား စာအုပ်

အောက်ပါ အမှတ်အသားများ တွင် သင့်များ အသုံးပြုပါ။

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>
<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>
</bookstore>

လိပ်ခြင်းများ ရယူ

XPath ကို XML စာရင်းတွင် လိပ်ခြင်းပုံ ကို အသုံးပြု၍ လိပ်ခြင်းများ ကို ရယူပါသည်။ လိပ်ခြင်းများ သည် လိပ်ခြင်းပုံ သို့မဟုတ် အပိုင်းအခြား ကို အသုံးပြု၍ ရယူပါသည်။

下面列出了最有用的路径表达式:

表达式 အကြောင်း
nodename 选取此节点的所有子节点。
/ 从根节点选取。
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
. 选取当前节点。
.. 选取当前节点的父节点。
@ 选取属性。

အကျိုး

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:

အဖက်အချက် စက်တင် ရလဒ်
bookstore bookstore အအုပ်အဖွဲ့၏ အခြေခံအကြောင်းအရာအား ရယူပါ。
/bookstore

အခြေခံအကြောင်းအရာ bookstore ကို ရယူပါ。

အစားထိုးချက်: အခြေခံအကြောင်းအရာ၏ အစိတ်အပိုင်းကို အခြေခံအကြောင်းအရာ၏ ပြင်ဘက်သို့ စတင်ပြုလုပ်ကြားကြသော အခြေခံအကြောင်းအရာကို အသုံးပြုသည့် အခြေခံအကြောင်းအရာကို အသုံးပြုသည့််

bookstore/book bookstore အအုပ်အဖွဲ့၏ အပိုင်းအခွဲများတွင် ပါဝင်သော အခြေခံအကြောင်းအရာအား ရယူပါ၊ ထို့အတွက် bookstore အအုပ်အဖွဲ့၏ အောက်ပါအချက်အရာများမှာ ပါဝင်ပါ။
//book အခြေခံအကြောင်းအရာအား အသုံးပြုသော အပိုင်းအခွဲများအား ရယူပါ၊ ထို့အတွက် အခြေခံအကြောင်းအရာ၏ အချက်အရာများမှာ ပါဝင်ပါ။
bookstore//book bookstore အအုပ်အဖွဲ့၏ အသုံးပြုသော အပိုင်းအခွဲများတွင် ပါဝင်သော အခြေခံအကြောင်းအရာအား ရယူပါ၊ ထို့အတွက် bookstore အအုပ်အဖွဲ့၏ အောက်ပါအချက်အရာများမှာ ပါဝင်ပါ။
//@lang အမည်အရင်း lang အချက်အရာအား ရယူပါ。

အကြောင်းအရာ (Predicates)

အကြောင်းအရာအရင်းသည် အချက်အရာတစ်ခုကို ရှာဖွေရန် သို့မဟုတ် အချက်အရာတစ်ခုကို ပါဝင်သော အချက်အရာကို ရှာဖွေရန် အသုံးပြုထားပါသည်。

အကြောင်းအရာအရင်းကို ပေါက်ကြီးတွင် အသုံးပြုထားပါသည်。

အကျိုး

အောက်ဆုံး တင်ချက်တွင် အခြေခံအကြောင်းအရာတွေ နှင့် အခြေခံအကြောင်းအရာ၏ အရာဝတ္တုအချက်အရာများ ကို အောက်ပါအတိုင်း စာရင်းပြုပါသည့််

အဖက်အချက် စက်တင် ရလဒ်
/bookstore/book[1] bookstore အအုပ်အဖွဲ့၏ အသုံးပြုသော ပထမအအုပ်အဖွဲ့ကို ရယူပါ。
/bookstore/book[last()] bookstore အအုပ်အဖွဲ့၏ အသုံးပြုသော နောက်ဆုံးအအုပ်အဖွဲ့ကို ရယူပါ。
/bookstore/book[last()-1] bookstore အအုပ်အဖွဲ့၏ အသုံးပြုသော နောက်ဆုံးနှစ်ခုမှ နောက်ဆုံးအအုပ်အဖွဲ့ကို ရယူပါ。
/bookstore/book[position()<3] bookstore အအုပ်အဖွဲ့၏ အသုံးပြုသော ပထမနှစ်ခုကို ရယူပါ。
//title[@lang] အမည်အရင်း lang အခေါ်အားပေးထားသော title အအုပ်အဖွဲ့အား ရယူပါ。
//title[@lang='eng'] အမည်အရင်း eng အခေါ်အားပေးထားသော title အအုပ်အဖွဲ့အား အသုံးပြုပါ。
/bookstore/book[price>35.00] ပြည့်စုတိုင်း bookstore အအုပ်အဖွဲ့ကို ရယူပြီး ထို့အတွက် price အအုပ်အဖွဲ့၏ ပြည့်အရေအတွက် 35.00 ထက် အထူးသတ်မှတ်ထားပါ。
/bookstore/book[price>35.00]/title 选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。

选取未知节点

XPath 通配符可用来选取未知的 XML 元素。

通配符 အကြောင်း
* အချက်အလက် အဖက်အချက် ကို စုံစမ်း
@* အချက်အလက် အဖက်အချက် ကို စုံစမ်း
node() အချက်အလက် အမျိုးအစား ကို စုံစမ်း

အကျိုး

အောက်ဆုံး စာရင်းတွင် ကျွန်ုပ်တို့သည် အဖက်အချက် စက်တင် နှင့် အဖက်အချက် ရလဒ် အချက်အလက် ကို ရှိပါသည်။

အဖက်အချက် စက်တင် ရလဒ်
/bookstore/* bookstore အချက်အလက် တွင် ပါဝင်သော အချက်အလက် အား ရယူပါ။
//* အခြား အချက်အလက် အား ရယူပါ။
//title[@*] အချက်အလက် အဖက်အချက် ပါဝင်သော title အချက်အလက် အား ရယူပါ။

အဖက်အချက် ရယူ

အဖက်အချက် စက်တင်တွင် 'အဖက်အချက်' တုပ်ချုပ် အသုံးပြုပြီး အဖက်အချက် အချို့ ကို ရယူနိုင်ပါသည်။

အကျိုး

အောက်ဆုံး စာရင်းတွင် ကျွန်ုပ်တို့သည် အဖက်အချက် စက်တင် နှင့် အဖက်အချက် ရလဒ် အချက်အလက် ကို ရှိပါသည်။

အဖက်အချက် စက်တင် ရလဒ်
//book/title | //book/price book အချက်အလက် တွင် ပါဝင်သော title နှင့် price အချက်အလက် အား ရယူပါ။
//title | //price အခြား အချက်အလက် တွင် ပါဝင်သော title နှင့် price အချက်အလက် အား ရယူပါ။
/bookstore/book/title | //price bookstore အချက်အလက် တွင် ပါဝင်သော book အချက်အလက် အနေဖြင့် title အချက်အလက် နှင့် အခြား အချက်အလက် အား ရယူပါ။