.net - xpath:先行兄弟或 self

标签 .net xpath

我要 preceding-sibling-or-self我的 xpath 中的功能,我正在使用 ../(self::*|preceding-sibling::*)它给了我 Expression must evaluate to a node-set. ,所以我一定是做错了。

无论您在哪个上下文节点上或 xml 是什么样的,这都会引起轰动。我想在 / 之后使用这个功能所以我需要正确的语法。

xpath 表达式 (self::*|preceding-sibling::*)没有给出错误,因此它与我尝试使用它的 xpath 中的位置有关。

编辑:

我的错误实际上更基本。你甚至做不到../(.|.)没有那个错误。一般来说,我想去一个节点,然后从那里查看一组节点。该错误似乎与尝试使用联合运算符 | 相关。斜线后 / .

最佳答案

在 XPath 中,如果要使用联合运算符,则必须在路径的开头使用它。
(self::*|preceding-sibling::*)/Child没问题。

如果您需要做Something/(self::*|preceding-sibling::*)/Child ,你必须像这样展开左边的部分:
(Something/self::*|Something/preceding-sibling::*)/Child

关于.net - xpath:先行兄弟或 self ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26596287/

相关文章:

c++ - 将 GUI 添加到非托管/boost C++ 应用程序

c# - 以编程方式获取 SVN 修订号 (.NET)

c# - 多个用户写入同一个文件

python - 使用 python 处理 selenium 中的应用程序下载窗口

xml - XSLT 删除非 ASCII

java - 在java中的XML中设置属性/节点

java - 查找具有完全相同属性的元素

.NET 泛型 : Is it possible to enforce abstract class on generic type

xml - Xpath - 使用计数函数中的逻辑

c# - 每个请求的 log4net.GlobalContext.Properties 是否不同?