2015-02-05 71 views
0

我需要在轉換中更改節點下的所有標記。 源XML看起來是這樣的:替換節點下的所有標記

<Address> 
<s:name>name</s:name> 
<s:lastName>last name <a:lastName> 
<s:address1>Address Line 1</s:address1> 
<s:address2>Address Line 2</s:address2> 

必需的O/P:

<Address> 

<name>name</name> 

<lastName>last name <lastName> 

<address1>Address Line 1</address1> 

<address2>Address Line 2</address2> 

有tags.So的一千,不能寫匹配所有。有沒有一種方法可以讓頂層節點處理下面的所有標籤?

+0

1.您的源XML不是XML(也不是您要求的輸出)。 - 2.請選擇XSLT 1.0 **或** 2.0,而不是兩者。 - 3.你在這裏遇到的困難是什麼?看起來你需要做的就是將每個標籤轉換爲一個元素,使用'local-name()'作爲它的名字。 –

回答

0

如果您使用match="/*//*"則匹配根元素的所有後代元素。然後你就可以使用構建

<xsl:template match="/*//*"><xsl:element name="local-name()"><xsl:apply-templates select="@* | node()"/></xsl:element></xsl:template>

那麼身份轉換模板添加到您的代碼,一個新的元素,和你做。