2012-01-06 81 views
2

我試圖將數據從一個元素放到另一個元素中。 我已經完成了這兩個字符串的XSL樣式表。用XSL將元素數據放入元素中

<fordon pris="129900"><name>Honda</name><modellTyp>1</modellTyp></fordon> 
<fordon pris="119000"><name>Nissan</name><modellTyp>2</modellTyp></fordon> 

但我想要得到的numers(1和2)我的modellTyp內部,從而輸出應該是 <modellTyp1><modellTyp2>

這是我的XSL文件是什麼樣子輸出結果我有

<?xml version="1.0" encoding="iso-8859-1"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="ad"> 
<xsl:element name="fordon"> 
<xsl:attribute name="pris"> 
<xsl:copy-of select="price" /> 
</xsl:attribute> 
<xsl:copy-of select="name"/> 
<xsl:element name="modellTyp"> 
<xsl:value-of select="type" /> 
</xsl:element> 
</xsl:element> 
</xsl:template> 
</xsl:stylesheet> 

在此先感謝。

+0

也許CSS樣式表? – Dymond 2012-01-06 00:16:00

回答

1

Attribute Value Template動態創建一個大括號的元素名稱:

<xsl:element name="{concat('modellTyp', type)}"> 
    <xsl:value-of select="type"/> 
</xsl:element> 
+1

當然!! 今天早些時候使用Concat,但不記得它在這一刻:) 不會忘記,現在:) 謝謝。 – Dymond 2012-01-06 01:34:29

+1

簡單:'name =「modellTyp {type}」> – 2012-01-06 04:02:11

+0

@DimitreNovatchev - 當然。傻我。我認爲是時候停下來了:)晚上:) – 2012-01-06 04:10:10

1

@ lwburk的答案是正確的,但還有一個更簡單的/更短的解決方案

<xsl:element name="modellTyp{type}">  
    <xsl:value-of select="type"/> 
</xsl:element>