XPath跟随具有多个条件的同级
我有以下xml文档。我正在尝试选择具有相同值2的兄弟姐妹且值3未关闭的任何子级XPath跟随具有多个条件的同级,xpath,Xpath,我有以下xml文档。我正在尝试选择具有相同值2的兄弟姐妹且值3未关闭的任何子级 <root> <child> <value1>Type A</value1> <value2>Class 1</value2> <value3>Active</value3> </child> <child> <value1>Type B<
<root>
<child>
<value1>Type A</value1>
<value2>Class 1</value2>
<value3>Active</value3>
</child>
<child>
<value1>Type B</value1>
<value2>Class 1</value2>
<value3>Closed</value3>
</child>
<child>
<value1>Type C</value1>
<value2>Class 2</value2>
<value3>Active</value3>
</child>
<child>
<value1>Type D</value1>
<value2>Class 2</value2>
<value3>Active</value3>
</child>
<child>
<value1>Type E</value1>
<value2>Class 3</value2>
<value3>Active</value3>
</child>
</root>
A型
第一类
活跃的
B型
第一类
关闭
C型
第二类
活跃的
D型
第二类
活跃的
E型
第三类
活跃的
我的尝试是:
//child[以下同级::child/value2=value2和value3!='Closed']
但这并没有将多个条件应用于以下同级函数的预期结果
有什么想法吗
//child[value2 = following-sibling::child[not(value3 = 'Closed')]/value2]
若要应用于任何同级,请将后面的同级轴和前面的同级轴合并
//child[value2 = (following-sibling::child | preceding-sibling::child)[not(value3 = 'Closed')]/value2]
它是否返回以下所有同级,其中
value3!=closed
?否,它返回类型A和类型C,其中确实有另一个具有匹配值2的子项,但类型A的第二个子项已关闭,因此不应返回Hanks,这正是我所需要的…只是添加了一个“and value3!=“closed”,以确保第一个子项也未被取消。