xpath简单的理解示例

时间:2013-07-28 18:16:33

标签: xml xpath xpathnavigator

我有这个xml文件:

<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/css" href="positions-zaehlweise.css"?>
<ul>
<li>A</li> 
<li>             
 <ol>
   <li>B</li>
   <li>C</li>
 </ol>
</li>
<li>D</li>
</ul>

和这个xpath查询:

/child::ul/descendant-or-self::*/child::li[position()=1]

我从此查询中获得:AB

但我不知道怎么做到这一点。使用/descendant-or-selfselfA,对吗?然后它下降到列表并采取所有。那么它如何比较,我的愿景是:

self             descendant
----------------------------
A,D                 B, C
我是对的吗?有人可以请你解释一下这是如何运作的吗?非常感谢

1 个答案:

答案 0 :(得分:2)

/child::ul会返回ul

descendant-or-self::*返回自我(ul再次)及其所有后代(li-Ali-ololli-B,{{1 },li-C)。

li-D移动到child::li的前一个元素的子元素,这意味着lili-Ali-ol代表li-D,{ {1}}锂B ul里-C and ol`。

and仅选择第一个这样的孩子,即for[position()=1]