【发布时间】:2023-04-04 05:39:01
【问题描述】:
我有一个奇怪的困境....
首先,我只使用 XPath 1.0,这是系统仍在使用的古老进程,所以虽然我很想使用 2.0,但它不会发生。
我有一个这样的节点:
<Column Name="Letters">A, B, C, D, E, F, G, H, I</Column>
我希望 xpath 返回这些字母的节点列表。 这有可能吗?是否可以返回从字符串中存在的字母数派生的节点列表? 是否可以遍历字符串,并以某种方式保留字符串中下一个节点所在位置的索引?
欢迎提出任何建议、替代方案和建议。
提前致谢!
编辑: 如果如上所示有 9 个“字母”节点实例,是否可以使用(假设我已删除所有空格/逗号): substring(Letters,1,1) 来检索第一个值,然后当程序遍历到下一个节点,检索 substring(Letters,2,1) 等,但不是静态索引,而是返回类似:substring(Letters,node2outof9,1)?
编辑:EX)
<Column Name="Letters">A, B, C, D, E, F, G, H, I</Column>
<Column Name="Letters">A, B, C, D, E, F, G, H, I</Column>
<Column Name="Letters">A, B, C, D, E, F, G, H, I</Column>
...
假设我有以下伪代码:
节点列表中的 foreach 节点(列 @Name=Letters) 子字符串(节点,索引?,1)
是否有一个 xpath 函数或属性可以用来为我当前正在遍历的节点列表中的哪个节点提供索引?
我正在考虑一种解决方法,即使用当前节点的索引来获取我需要的字母。所以我要返回“Letters” 9 次,每次抓取一个字母,一次 1 个。
我知道这是一个奇怪的请求,所以我非常感谢任何帮助...
更新: 问题已解决,但必须使用解决方法,因为显然这不能仅使用 XPATH 来完成。感谢大家的建议和建议。用我提供的奇怪信息回答 Jakrabbit 以获得足够接近的解决方案。
【问题讨论】:
-
什么在处理 XPath?通常,您可以使用 XSLT 或编程语言。
-
嗨,马克-我无权访问处理程序,我看到的只是 XML,并且必须根据系统的要求编写足够的 XPath。在这种情况下,xml将我需要的数据存储为一串字母,我需要一个一个地给出字母。因此,如果可能,它必须在 XPath 而不是处理程序中完成。感谢您的回复!
标签: xpath