根据两个或多个属性值计算节点

时间:2013-01-02 16:45:38

标签: xpath

我需要根据其属性的值,计算特定节点在文档中出现的次数。因此,给出以下小型XML样本:

 <p:entry timestamp="2012-11-15T17:53:34.642-05:00" ticks="89709622449012" system="OSD" component="OSD5" marker=".\Launcher.cpp:1741" severity="Info" type="Driver" subtype="Start" tags="" sensitivity="false">

这可能会在具有不同属性集的文档中出现一次或多次。我需要计算出显示的类型=“Driver”AND subtype =“Start”。我可以使用以下方法计算有多少只有type =“Driver”:

 count(//p:entry[@type="Driver"])

但未能将它们组合在一起。这不起作用:

 count(//p:entry[@type="Driver" and @subtype="Start"])

1 个答案:

答案 0 :(得分:1)

这适用于OP。连续指定2个谓词而不是使用运算符and得到相同的效果:

count(//p:entry[@type="Driver"][@subtype="Start"])

根据我的知识,原来的代码count(//p:entry[@type="Driver" and @subtype="Start"])应该是正确的。