每個節點都包含字段LIGHT_COLOUR中的一個顏色列表,由字母R(紅色),W(白色)等等標識。 在字段LIGHT_COLOUR中可以是唯一的一個顏色/字母或不止一個用' - '分隔。返回節點中一次獲取的所有XML元素
這是我的用於測試XML:
<LIGHT_INFORMATION_LIST>
<LIGHT_INFORMATION>
<LIGHT_CHARACTERISTICS>Al</LIGHT_CHARACTERISTICS>
<LIGHT_COLOUR>W-G</LIGHT_COLOUR>
</LIGHT_INFORMATION>
<LIGHT_INFORMATION>
<LIGHT_CHARACTERISTICS>Al</LIGHT_CHARACTERISTICS>
<LIGHT_COLOUR>W-R</LIGHT_COLOUR>
</LIGHT_INFORMATION>
<LIGHT_INFORMATION>
<LIGHT_CHARACTERISTICS>F</LIGHT_CHARACTERISTICS>
<LIGHT_COLOUR>R</LIGHT_COLOUR>
</LIGHT_INFORMATION>
<LIGHT_INFORMATION>
<LIGHT_CHARACTERISTICS>F</LIGHT_CHARACTERISTICS>
<LIGHT_COLOUR>G</LIGHT_COLOUR>
</LIGHT_INFORMATION>
<LIGHT_INFORMATION>
<LIGHT_CHARACTERISTICS>F</LIGHT_CHARACTERISTICS>
<LIGHT_COLOUR>W</LIGHT_COLOUR>
</LIGHT_INFORMATION>
</LIGHT_INFORMATION_LIST>
這是我的XSLT:
<xsl:for-each select="LIGHT_INFORMATION_LIST">
<xsl:for-each select="LIGHT_INFORMATION">
<xsl:for-each select="LIGHT_COLOUR">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
現在我的輸出是:W-G W-R R G^w^
這是LIGHT_COLOUR字段中的所有元件。
我會輸出一次所有元素(LIGHT_COLOUR不同)。
在輸出我想:WGR
做到這將是第一次在你的榜樣,以創建一個包含所有連接成一個字符串<xsl:variable name="allColours">
<xsl:for-each select="LIGHT_INFORMATION_LIST/LIGHT_INFORMATION">
<xsl:value-of select="concat(LIGHT_COLOUR, '-')" />
</xsl:for-each>
</xsl:variable>
所以單獨LIGHT_COLOUR
元素,一個變量
對不起,你的問題是不明確的。您已經嘗試過哪些XSLT? – freefaller 2014-10-07 14:27:46
您的要求存在的問題是,嚴格來說,「W-G」和「W-R」**是**不同的值。所以這超出了處理** XML **的範圍;您需要首先標記** text **值,然後才能從結果中獲取不同的值。你在使用哪個特定的XSLT處理器? – 2014-10-07 14:52:09
我會插入一個控件: – 2014-10-08 09:12:14