将类似元素分组为单独的组

问题描述 投票:0回答:1

我有以下XML:

<root>
  <node>
    <prop>a</prop>
    <amount>10</amount>
  </node>
  <node>
    <prop>a</prop>
    <amount>20</amount>
  </node>
  <node>
    <prop>b</prop>
    <amount>15</amount>
  </node>
  <node>
    <prop>b</prop>
    <amount>25</amount>
  </node>
  <node>
    <prop>a</prop>
    <amount>17</amount>
  </node>
</root>

我想根据节点的prop将其分组为段:

<root>
  <segment>
    <prop>a</prop>
    <node>
      <amount>10</amount>
    </node>
    <node>
      <amount>20</amount>
    </node>
  </segment>
  <segment>
    <prop>b</prop>
    <node>
      <amount>15</amount>
    </node>
    <node>
      <amount>25</amount>
    </node>
  </segment>
  <segment>
    <prop>a</prop>
    <node>
      <amount>17</amount>
    </node>
  </segment>
</root>

但是您可以看到,最后一个“ a”节点必须放置在另一个segment中-这是因为三个“ a”节点不连续。当我尝试对它们进行分组时,所有“ a”节点都会被扔到一起。如示例所示,是否可以将它们分组?

xml xslt xpath grouping xslt-1.0
1个回答
1
投票

XSLT 1.0]中尝试此操作

© www.soinside.com 2019 - 2024. All rights reserved.