【问题标题】:xpath simple understanding examplexpath简单理解示例
【发布时间】:2013-07-28 18:16:32
【问题描述】:

我有这个 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-selfself A,对吗?然后它会从列表中删除并拿走所有东西。那怎么比较呢,我的设想是这样的:

self             descendant
----------------------------
A,D                 B, C

我说的对吗?有人可以简要解释一下这是如何工作的吗?非常感谢

【问题讨论】:

    标签: xml xpath xpathnavigator


    【解决方案1】:

    /child::ul 返回ul

    descendant-or-self::* 返回自己(再次ul)加上它的所有后代(li-Ali-ololli-Bli-Cli-D)。

    child::li 移动到先前元素 li 的子元素,这意味着 li-Ali-olli-D 用于 ulandli-Bandli-C@ 987654339@ol`.

    [position()=1] 只选择第一个这样的孩子,即li-Ali-B

    【讨论】:

      猜你喜欢
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多