Xslt 基于唯一元素值将XML文件拆分为多个文件

Xslt 基于唯一元素值将XML文件拆分为多个文件,xslt,Xslt,我有一些XML,我需要根据标题的值将其拆分为几个XML。如果标题具有相同的值,我需要分组并合并成一个XML 输入是正确的 我需要拆分以下XML文件 <Items> <Item> <Title>ABCD-1234-THND</Title> <DueDate>01-02-2008</DueDate> </Item> <Item> <Title>ABCD-12

我有一些XML,我需要根据标题的值将其拆分为几个XML。如果标题具有相同的值,我需要分组并合并成一个XML 输入是正确的

我需要拆分以下XML文件

<Items>
  <Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2008</DueDate>
  </Item>
  <Item>
    <Title>ABCD-1224-THND</Title>
    <DueDate>01-02-2009</DueDate>
  </Item>
  <Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2010</DueDate>
  </Item>
  <Item>
    <Title>ABCD-1224-THND</Title>
    <DueDate>01-02-2011</DueDate>
  </Item>
  <Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2012</DueDate>
  </Item>
  <Item>
    <Title> ABCD-1234-THND</Title>
    <DueDate>01-02-2013</DueDate>
  </Item>
  <Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2013</DueDate>
  </Item>
</Items>

ABCD-1234-THND
01-02-2008
ABCD-1224-THND
01-02-2009
ABCD-1234-THND
01-02-2010
ABCD-1224-THND
01-02-2011
ABCD-1234-THND
01-02-2012
ABCD-1234-THND
01-02-2013
ABCD-1234-THND
01-02-2013
输出

<?xml version="1.0" encoding="UTF-8"?>
<Items>
  <Item>
    <Title>ABCD-1224-THND</Title>
    <DueDate>01-02-2011</DueDate>
  </Item>
  <Item>
    <Title>ABCD-1224-THND</Title>
    <DueDate>01-02-2011</DueDate>
  </Item>

</Items>

<?xml version="1.0" encoding="UTF-8"?>
<Items>
<Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2008</DueDate>
  </Item>
  <Item>
<Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2008</DueDate>
  </Item>
  <Item>
<Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2008</DueDate>
  </Item>
  <Item>
<Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2008</DueDate>
  </Item>
  <Item>
<Item>
    <Title>ABCD-1234-THND</Title>
    <DueDate>01-02-2008</DueDate>
  </Item>
  <Item>

</Items>

ABCD-1224-THND
01-02-2011
ABCD-1224-THND
01-02-2011
ABCD-1234-THND
01-02-2008
ABCD-1234-THND
01-02-2008
ABCD-1234-THND
01-02-2008
ABCD-1234-THND
01-02-2008
ABCD-1234-THND
01-02-2008

假设XSLT2可用,您可以使用
结果文档来指定输出位置

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/Items">
        <!-- Group Items by Title -->
        <xsl:for-each-group select="Item" group-by="Title">
            <!-- Write each group to a file with the title in the name -->
            <xsl:result-document href="items-{current-grouping-key()}.xml">
                <Items>
                    <xsl:copy-of select="current-group()"/>
                </Items>
            </xsl:result-document>
        </xsl:for-each-group>
    </xsl:template>
</xsl:stylesheet>


xslt 2.0解决方案是否可以接受?您得到了什么?您可以使用结果文档指定输出位置…您能帮我举个例子吗?您在回答中运行示例时遇到问题吗?