1
我正在嘗試轉換一個xml,其中包含多個屬性。其中,我希望2或3個屬性成爲元素,並在同一元素中插入一些額外的屬性。下面是XML結構,我想轉換將某個屬性值轉換爲元素
<Parent>
<NODE attr1="INDEX" attr2="0" attr3="OFF" attr4="TRANSPARENT_MODE" attr5="HIGH" attr6="0" attr7="0" attr8="TIME">
<value>0</value>
<alias>Index 0</alias>
</NODE >
</Parent>
我想我已經表明我只想要3屬性即attR1位attr5和attr7是元素添加到XML轉換到
<Parent>
<NODE attr2="0" attr3="OFF" attr4="TRANSPARENT_MODE" attr6="0" attr8="TIME">
<attr1 value="INDEX">
<attr5 value="HIGH">
<attr7 value="0">
<value>0</value>
<alias>Index 0</alias>
</NODE >
</Parent>
所以和其他留下來,因爲它is.For這個我想下面的XSLT樣式
<xsl:template match="Parent/NODE/@attr1">
<attr1>
<xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
</attr1>
</xsl:template>
但做這3個屬性後,其他屬性沒有改變XML來了。任何幫助可以理解
很難說沒有其餘的XSLT代碼,但是您確定要將其他屬性複製到NODE中嗎? – AntonH
這可能是因爲您的XSLT在複製任何想要作爲屬性保留的現有屬性之前添加'attr1'元素。根據規範,這被視爲錯誤(請參閱https://www.w3.org/TR/xslt#creating-attributes)。正如在該鏈接中提到的那樣,您的XSLT處理器必須選擇忽略屬性。 –