XPath အကြီးအကျယ်

XML 实例文档

我们将在下面的例子中使用此 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 အရောင်းချိန်

အရောင်းချိန် အခြား အကိုရိုး ပါဝင်သည် အခြား အကိုရိုး အပိုင်းအခြာ

အရောင်းချိန် 结果
ancestor တရားဖြစ်သည် လက်ရှိ အကိုရိုး အခြား အကိုရိုး အခြား အကိုရ�ုး
ancestor-or-self တရားဖြစ်သည် လက်ရှိ အကိုရိုး အခြား အကိုရိုး အခြား အကိုရိုး အပိုင်းအခြာ
attribute 选取当前节点的所有属性。
child 选取当前节点的所有子元素。
descendant တရားဖြစ်သည် လက်ရှိ အကိုရိုး အခြား အကိုရိုး အခြား အကိုရိုး အပိုင်းအခြာ
descendant-or-self တရားဖြစ်သည် လက်ရှိ အကိုရိုး အခြား အကိုရိုး အခြား အကိုရိုး အပိုင်းအခြာ အခြား အကိုရိုး အခြား အကိုရိုး အပိုင်းအခြာ
following တရားဖြစ်သည် လက်ရှိ အကိုရိုး အဆုံး သတ်မှတ်သော လက်ရှိ အကိုရိုး အခြား အခြား အပိုင်းအခြာ
namespace တရားဖြစ်သည် လက်ရှိ အကိုရိုး အမှတ်အသင်း အပိုင်းအခြာ
parent တရားဖြစ်သည် လက်ရှိ အကိုရိုး အဖိုင်
preceding တရားဖြစ်သည် လက်ရှိ အကိုရိုး စတင် သတ်မှတ်သော လက်ရှိ အကိုရိုး အခြား အခြား အခြား အပိုင်းအခြာ ပါဝင်သည်
preceding-sibling တရားဖြစ်သည် လက်ရှိ အကိုရိုး အခြား အပိုင်းအခြာ ပါဝင်သည်
self တရားဖြစ်သည် လက်ရှိ အကိုရိုး

အခြေအနေ အပိုင်းအခြာ အစိုင်း

အခြေအနေ အပိုင်းအခြာ အချက်အလက် ဖြစ်ပါသည်။

ဖော်ပြချက် အပိုင်းအခြာ စတင်သည် ဖြတ်သို့ ( / ) ဖြစ်ပါသည်၊ တူးကဲ့သည် မပါဘဲ။ နှစ်မျိုးလုံး အခြေအနေများ အခြေအနေ သုံးပုံတစ်ပုံ ခုံးလုံး သို့မဟုတ် အခြားခုံးလုံး ပါဝင်သည်။ ရပ်ခံ ပုံစံ အပိုင်းအခြာ ဖြစ်ပါသည်။

绝对位置路径:

/step/step/...

相对位置路径:

step/step/...

每个步均根据当前节点集之中的节点来进行计算。

步(step)包括:

轴(axis)
定义所选节点与当前节点之间的树关系
节点测试(node-test)
识别某个轴内部的节点
零个或者更多谓语(predicate)
更深入地提炼所选的节点集

步的语法:

轴名称::节点测试[谓语]

实例

例子 结果
child::book 选取所有属于当前节点的子元素的 book 节点。
attribute::lang 选取当前节点的 lang 属性。
child::* 选取当前节点的所有子元素。
attribute::* 选取当前节点的所有属性。
child::text() 选取当前节点的所有文本子节点。
child::node() 选取当前节点的所有子节点。
descendant::book 选取当前节点的所有 book 后代。
ancestor::book 选择当前节点的所有 book 先辈。
ancestor-or-self::book 选取当前节点的所有 book 先辈以及当前节点(如果此节点是 book 节点)
child::*/child::price 选取当前节点的所有 price 孙节点。