1
5
这是一个 在属于同一文档中任何节点集的任何节点上工作的解决方案 : 我使用XSLT来实现这个解决方案,但是最终获得了一个可以与任何其他宿主语言一起使用的XPath表达式。
那么,让
那么,让
我将使用著名的Kaysian公式计算两个节点集的交集:
基于这些,让
最后,想要的位置是
:
以下是这一切如何协同工作:
:
产生正确的结果
注意 |
2
2
我想我有一个可行的解决方案 其思想是计算文档中目标元素前面有多少个元素,并计算节点集中有多少个节点的前面元素较少或相等。在XPath中,这是:
示例文档的输出
我有 不 |
3
1
在某些情况下,前面的(-sibling)答案的计数效果很好;您只需从所选项目的角度重新指定上下文节点集,然后应用
但在其他情况下,前面的计数确实很难保持在您想要处理的节点集中,正如您所暗示的那样。E、 假设您的工作节点集是/html/body/div[3]//a(所有
但是,如果使用XSLT,下面的方法可以避免这些问题。如果可以指定工作节点集,则可以找到与提供的条件匹配的节点在其中的位置。而且不必指定节点集两次:
上下文位置 “标识上下文项在正在处理的序列中的位置。” 如果您不是在XSLT中工作,您处于什么环境中?这里可能有一个类似的构造,用于迭代外部XPath表达式的结果,在那里您可以维护自己的计数器(如果没有上下文位置可用),并根据内部条件测试每个项。
为什么
other guy's attempt on the older question
,
|
4
0
而是需要在包含“a”的“b”之前查找前面的“a”节点的计数。 比如:
|
5
0
从(即反对)根:
如果你说另一个节点,例如:
想忽略所有没有“a”父母的b元素
|
6
-1
这个怎么样。。
计算当前a元素中b元素以前的同级元素,然后计算a元素所有先前同级元素的b元素。或者类似的事情。 |
JobProcessTask · 如何读取此xpath表达式? 2 年前 |
MBF · PHP导入/解析XML文件内容保存到数据库 2 年前 |
TenkMan · SQL Server XML嵌套值查询表单990 2 年前 |
Mohan.Murali.Peddini · XSLT模板循环记录 2 年前 |