计算列表中的值,这些值在XML元素中表示为值。

时间:2016-06-10 16:22:24

标签: xpath

我有一些像这样的XML:

<lines>
  <line>
    <entity>H</entity>
    <account>1002</account>
    <taxcode>ESCR04</taxcode>
  </line>
  <line>
    <entity>H</entity>
    <account>1003</account>
    <taxcode>ESCR04</taxcode>
  </line>
  <line>
    <entity>H</entity>
    <account>1004</account>
    <taxcode>ESCR04</taxcode>
  </line>
  <line>
    <entity>H</entity>
    <account>1005</account>
    <taxcode>ESCR0</taxcode>
  </line>
  <line>
    <entity>H</entity>
    <account>1002</account>
    <taxcode>ESCR0</taxcode>
  </line>  
</lines>

这样的税码清单:

  <Codes>
    <Code>ESCR0</Code>
    <Code>ESCR04</Code>
    <Code>ESCR10</Code>
    <Code>ESCR21</Code>
  </Codes>

我需要确定代码中代码元素的数量,这些代码元素在&#39;行&#39;作为行&gt;行&gt;税码的值。在这个例子中它将是2.

我了解如何找到“&#39; line&#39;使用列出的代码之一的元素,但我无法弄清楚如何以相反的方式处理它。有任何想法吗?

由于

1 个答案:

答案 0 :(得分:2)

使用XPath 2.0及更高版本,您可以使用count(/Codes/Code[. = doc('lines.xml')/lines/line/taxcode])