蒂姆 - 謝謝!您根據我的輸入提供的內容當然可行!然而,我卻是我自己的自我的犧牲品。我最初的輸入是我的實際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