Axes (axis) da XPath

Abin na XML na fiye

Aza amfani da wannan abin na XML a cikin masanin na yanzu:

<?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>

Abin na axis na XPath

Abin na axis za a iya ɗaukar abin na ɗauka wuri na ɗaya na kusan abin na yanzu.

Sunan abin na axis 结果
ancestor Yanar abin na yanzu na ɗaya na abin na yanzu kuma abin na yanzu na farko.
ancestor-or-self Yanar abin na yanzu na ɗaya na abin na yanzu kuma abin na yanzu na farko.
attribute 选取当前节点的所有属性。
child 选取当前节点的所有子元素。
descendant Yanar abin na yanzu na ɗaya na abin na yanzu kuma abin na yanzu na farko.
descendant-or-self Yanar abin na yanzu na ɗaya na abin na yanzu kuma abin na yanzu na farko.
following Yanar abin na yanzu kafin abin na yanzu na farko.
namespace Yanar abin na yanzu na ɗaya na na namespace.
parent Yanar abin na yanzu na ɗaya.
preceding Yanar abin na yanzu kafin abin na yanzu na farko.
preceding-sibling Yanar abin na yanzu kafin abin na yanzu.
self Yanar abin na yanzu.

Yadda za a ɗauka abin na XPath

Yadda za a ɗauka abin ya ɗauki wuri ya ɗauki wuri na ɗaya ko kuma wuri na tsakiyar.

Alaɗaɗin abin da ke cikin yanayin ɗaukaki ( / ), amma yadda za a ɗauka abin da ke tsakiyar abin ya kaiwa. A cikin wannan abubuwan biyu, yadda za a ɗauka abin ya ɗauki wuri na ɗaya ko kuma kusan wuri, kowane wuri ya ɗauki kusan ɗaukaki, wanda ke ɗaukar yanayin:

绝对位置路径:

/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 孙节点。