XSLT多级分组

时间:2016-08-25 12:29:56

标签: xslt xslt-1.0

我是初学者是xslt,并且已经有一段时间与一个问题作斗争了:

原始XML:

59

这是从一个更复杂的一个被剥夺,但它应该仍然有意义。 我需要使用xslt使它看起来像这样:

<?xml version="1.0" encoding="UTF-8" ?>

<root>
<record>
    <column name="LVL1">16080503</column>
    <column name="LVL2">123</column>
    <column name="LVL3">R08050003</column>
    <column name="TOP">ABC</column>
</record>

<record>
      <column name="LVL1">16080504</column>
      <column name="LVL2">123</column>
      <column name="LVL3">R08050004</column>
      <column name="TOP">DEF</column>
</record>

<record>
      <column name="LVL1">16080523</column>
      <column name="LVL2">123</column>
      <column name="LVL3">R08050023</column>
      <column name="TOP">ABC</column>
</record>

<record>
      <column name="LVL1">16080909</column>
      <column name="LVL2">456</column>
      <column name="LVL3">A08090340</column>
      <column name="TOP">ABC</column>
</record>

<record>
      <column name="LVL1">16080503</column>
      <column name="LVL2">123</column>
      <column name="LVL3">R08050006</column>
      <column name="TOP">ABC</column>
</record>

<record>
      <column name="LVL1">00732544</column>
      <column name="LVL2">123</column>
      <column name="LVL3">R02713691</column>
      <column name="TOP">ABC</column>
</record>

<record>
      <column name="LVL1">00732544</column>
      <column name="LVL2">123</column>
      <column name="LVL3">RC02713691</column>
      <column name="TOP">DEF</column>
</record>
</root>

我一直在研究多种方法来做到这一点,而且我不确定哪种方法最好;使用<?xml version="1.0" encoding="UTF-8"?> <File> <LVL0>ABC</LVL0> <Group> <LVL1>16080503</LVL1> <SubGroups> <SubGroup> <LVL2>123</LVL2> <XXXs> <XXX> <LVL3>R08050003</LVL3> </XXX> <XXX> <LVL3>R08050006</LVL3> </XXX> </XXXs> </SubGroup> </SubGroups> </Group> <Group> <LVL1>16080523</LVL1> <SubGroups> <SubGroup> <LVL2>123</LVL2> <XXXs> <XXX> <LVL3>R08050023</LVL3> </XXX> </XXXs> </SubGroup> </SubGroups> </Group> <Group> <LVL1>16080909</LVL1> <SubGroups> <SubGroup> <LVL2>451</LVL2> <XXXs> <XXX> <LVL3>A08090340</LVL3> </XXX> </XXXs> </SubGroup> </SubGroups> </Group> <Group> <LVL1>00732544</LVL1> <SubGroups> <SubGroup> <LVL2>123</LVL2> <XXXs> <XXX> <LVL3>R02713691</LVL3> </XXX> </XXXs> </SubGroup> </SubGroups> </Group> </File> <File> <LVL0>DEF</LVL0> <Group> <LVL1>16080504</LVL1> <SubGroups> <SubGroup> <LVL2>123</LVL2> <XXXs> <XXX> <LVL3>R08050004</LVL3> </XXX> </XXXs> </SubGroup> </SubGroups> </Group> <Group> <LVL1>00732544</LVL1> <SubGroups> <SubGroup> <LVL2>123</LVL2> <XXXs> <XXX> <LVL3>RC02713691</LVL3> </XXX> </XXXs> </SubGroup> </SubGroups> </Group> </File> <xsl:for-each>。 我宁愿使用模板,因为我对它们比较熟悉,但我有点卡住了。

我认为我应该使用此密钥进行顶级分组,但我再次没有得到理想的结果;

<xsl:apply-templates>

非常感谢任何帮助解释在此类问题中使用的逻辑。

0 个答案:

没有答案