蒂姆 - 谢谢!您根据我的输入提供的内容当然可行!然而,我却是我自己的自我的牺牲品。我最初的输入是我的实际XML文件的结构缩小版本,我想我能够应用你的帮助的概念,并得到我最终需要的东西......猜猜看是什么?尽管变化很小,但我依然不能。代码的一些很好的变化/调整,包括在“copy-of select =”中使用完整路径,不会将KEY放在DOCUMENT下。它唯一的工作方式是当我使用“xsl:copy-of select =”// KEY“/”时。移动父级元素到循环组的子元素
我遇到的另一个问题是如何确保只有“文档”所在的“KEY”被复制到该“文档”下...使用“原样”代码,将所有元素XML被复制到每个节点(同样,只有当我使用“//”运算符时)。
请帮忙。
这里是我的未按比例缩小的结构:
<?xml version='1.0' encoding='utf-8' ?>
<Root>
<Level1>
<KEY><![CDATA[keyword1]]></KEY>
<Documents>
<Document>
<TYPE>type1</TYPE>
<IMAGE><![CDATA[string11]]></IMAGE>
</Document>
<Document>
<TYPE>type2</TYPE>
<IMAGE><![CDATA[string12]]></IMAGE>
</Document>
<Document>
<TYPE>type3</TYPE>
<IMAGE><![CDATA[string13]]></IMAGE>
</Document>
</Documents>
</Level1>
<Level1>
<KEY><![CDATA[keyword2]]></KEY>
<Documents>
<Document>
<TYPE>type1</TYPE>
<IMAGE><![CDATA[string21]]></IMAGE>
</Document>
<Document>
<TYPE>type2</TYPE>
<IMAGE><![CDATA[string22]]></IMAGE>
</Document>
<Document>
<TYPE>type3</TYPE>
<IMAGE><![CDATA[string23]]></IMAGE>
</Document>
</Documents>
</Level1>
</Root>
我想要的结果:
<?xml version='1.0' encoding='utf-8' ?>
<Root>
<Level1>
<Documents>
<Document>
<KEY><![CDATA[keyword1]]></KEY>
<TYPE>type1</TYPE>
<IMAGE><![CDATA[string11]]></IMAGE>
</Document>
<Document>
<KEY><![CDATA[keyword1]]></KEY>
<TYPE>type2</TYPE>
<IMAGE><![CDATA[string12]]></IMAGE>
</Document>
<Document>
<KEY><![CDATA[keyword1]]></KEY>
<TYPE>type3</TYPE>
<IMAGE><![CDATA[string13]]></IMAGE>
</Document>
</Documents>
</Level1>
<Level1>
<Documents>
<Document>
<KEY><![CDATA[keyword2]]></KEY>
<TYPE>type1</TYPE>
<IMAGE><![CDATA[string21]]></IMAGE>
</Document>
<Document>
<KEY><![CDATA[keyword2]]></KEY>
<TYPE>type2</TYPE>
<IMAGE><![CDATA[string22]]></IMAGE>
</Document>
<Document>
<KEY><![CDATA[keyword2]]></KEY>
<TYPE>type3</TYPE>
<IMAGE><![CDATA[string23]]></IMAGE>
</Document>
</Documents>
</Level1>
</Root>
对不起......,并再次感谢你。
你为什么不有什么不工作了吗?你真的尝试过什么? – Hilikus