我正在尝试找出一种使用Xpath查询来检查列表中是否存在2个元素文本值的方法。目前,我仅限于Xpath 1.0。
我有一个带有子树的XML正文,其中包含一个列表。看起来像这样:
<tags>
<tag>A</tag>
<tag>B</tag>
<tag>C</tag>
<tag>E</tag>
</tags>
如果该列表中的标记文本值等于“ A”和“ C”,我想拥有一个返回节点集的查询。 (这会运行一个文件,其中包含我上面已经描述的许多xml标记列表。
这是我目前的最大努力:
descendant-or-self::node()[local-name(.) = 'tag' and text() = 'A' and (preceding-sibling::text() = 'C' or following-sibling::text() = 'C')]
此问题很可能是由于我的嵌套情况以及使用前兄弟和后兄弟的原因。
是否可以以这种方式嵌套条件?
在此先感谢您提供的任何帮助和见解!
答案 0 :(得分:0)
如果(// tag / text()='A'和// tag / text()='C'),则// tag [text()='A'或text()='C']其他//空
答案 1 :(得分:0)
这是我得出的解决方案:
YRR