选择一系列节点的xpath是什么?

Sha*_*awn 38 xml xpath

嗨,我有一个XML文件,其结构如下:

 <foo>
     <bar></bar>
     <bar></bar>
     ...
</foo>
Run Code Online (Sandbox Code Playgroud)

我不知道如何抓取一系列节点.有人可以给我一个抓取条形节点100-200的xpath表达式的例子.

Dim*_*hev 67

用途:

/*/bar[position() >= 100 and not(position() > 200)]
Run Code Online (Sandbox Code Playgroud)

请注意:

  1. 确切地选择bar位置100到200(包括)的元素.

  2. 对此XPath表达式的评估可以比使用//缩写的表达式快许多倍,因为后者导致对其根是上下文节点的树的完整扫描.在可能的情况下,请尽量避免使用//缩写.


ken*_*ytm 10

//foo/bar[100 <= position() and position() < 200]
Run Code Online (Sandbox Code Playgroud)


Cia*_*Pan 8

不是fn:subsequence最好的方法吗?

subsequence( /foo/bar, 100, 101 )
Run Code Online (Sandbox Code Playgroud)

返回位置100到200的所有项目,即101项(如果源序列较短,则返回更少).