0
我有一個XML 1.0文檔,需要使用XSLT 1.0文件進行轉換。我需要轉換XML看起來是這樣的:使用XSLT 1.0在XML列表中插入元素
<commandBarData guid="f3016f3c-2847-4557-b61a-a2d05319cf18">
<menubar>
<modeData guid="76d73481-9076-44c9-821c-52de9408cce2">
<item guidRef="0f948c18-f326-40e5-9beb-2efc73803797"/>
<item guidRef="6c91d5ab-d648-4364-96fb-3e71bcfaf70d"/>
<item guidRef="71f8ffd6-46bd-43a3-8256-5412bc2d7741"/>
<item guidRef="ac291790-gf51-d4s1-f23x-dsf9dfb6fgf5"/>
</modeData>
</menubar>
</commandBarData>
我需要的元素<item guidRef="0f948c18-f326-40e5-9beb-2efc73803797"/>
之後插入<item guidRef="21c1f231-e03e-48e8-916a-d8790442b417"/>
所以名單看起來就像這樣:
<commandBarData guid="f3016f3c-2847-4557-b61a-a2d05319cf18">
<menubar>
<modeData guid="76d73481-9076-44c9-821c-52de9408cce2">
<item guidRef="0f948c18-f326-40e5-9beb-2efc73803797"/>
<item guidRef="21c1f231-e03e-48e8-916a-d8790442b417"/>
<item guidRef="6c91d5ab-d648-4364-96fb-3e71bcfaf70d"/>
<item guidRef="71f8ffd6-46bd-43a3-8256-5412bc2d7741"/>
<item guidRef="ac291790-gf51-d4s1-f23x-dsf9dfb6fgf5"/>
</modeData>
</menubar>
</commandBarData>
如何做到這一點使用XSLT 1.0?
我已經做了幾次嘗試,現在我的代碼主要工作。剩下的一個問題是如何在後面插入元素。下面的代碼工作除了...
<xsl:template match="uiConfig/commandBars">
<xsl:copy>
<xsl:apply-templates select = "node()|@*" />
</xsl:copy>
</xsl:template>
<xsl:template
匹配= 「uiConfig /命令欄/ commandBarData /菜單欄/ modeData /項目[@ guidRef = '0f948c18-f326-40e5-9beb-2efc73803797']」>
它生成此XML:
<item guidRef="0f948c18-f326-40e5-9beb-2efc73803797"><item guidRef="21c1f231-e03e-48e8-916a-d8790442b417" xmlns:frmwrk="Corel Framework Data" /></item>
<item guidRef="21c1f231-e03e-48e8-916a-d8790442b417" />
<item guidRef="6c91d5ab-d648-4364-96fb-3e71bcfaf70d" />
<item guidRef="71f8ffd6-46bd-43a3-8256-5412bc2d7741" />
<item guidRef="ac291790-gf51-d4s1-f23x-dsf9dfb6fgf5" />
我如何使它的元素之後追加,而不是插入的孩子?
確切位置在哪裏,你堅持了嗎?發佈您的嘗試,以便我們可以修復它,而不必從頭開始爲您編寫代碼。 –
@ michael.hor257k通常,我會這樣做。到目前爲止,我的問題是我對xslt很不熟悉,所以到目前爲止我的嘗試都是基於甚至不接近的。無論如何,我會添加它們。 –
如果您需要一個起始點,請從[標識轉換](https://www.w3.org/TR/xslt#copying)開始,然後添加另一個與[item] [@ guidRef ='0f948c18-f326- 40e5-9beb-2efc73803797' ]'。該模板應該複製當前的'item'並且創建新的'item'。 –