我认为问题很清楚,但这是一个例子:
<?xml version="1.0"?>
<Root>
<Criterion>
<Name>A</Name>
<Value>1</Value>
</Criterion>
<Criterion>
<Name>C</Name>
<Value>3</Value>
</Criterion>
<Criterion>
<Name>D</Name>
<Value>4</Value>
</Criterion>
<Criterion>
<Name>B</Name>
<Value>2</Value>
</Criterion>
</Root>
我对此非常陌生,但从其他答案中我知道如何找到具有最大价值的标准:
//Root/Criterion[not(../Criterion/Value > Value)]
哪个给了我
<Criterion>
<Name>D</Name>
<Value>4</Value>
</Criterion>
正如所料。但我希望能够添加一个额外的约束,例如&#34;找到具有最大值且小于3&#34;的Criterion。对于这个例子,我希望它返回
<Criterion>
<Name>B</Name>
<Value>2</Value>
</Criterion>
因为它包含的最高值不高于3.我尝试了一些似乎可以工作的想法,但没有一个有;我希望我能用一个或两个命令来做。有人知道这样做的简单方法吗?不幸的是,我使用的是VBA,因此我只能使用XPath 1.0,并且根据示例,元素不一定按任何特定顺序排序。
答案 0 :(得分:0)
只需在谓词中添加另一个条件
//Root/Criterion[Value <= 3 and not(../Criterion/Value > Value)]