我想將唯一的XML子元素值添加到選擇列表。以下是我迄今爲止將唯一的XML元素值添加到選擇列表
XML:
<Student>
<record>
<Name>Jack</Name>
</record>
<record>
<Name>Jack</Name>
</record>
<record>
<Name>John</Name>
</record>
<record>
<Name>John</Name>
</record>
<record>
<Name>John</Name>
</record>
<record>
<Name>Jill</Name>
</record>
<record>
<Name>Jill</Name>
</record>
<record>
<Name>James</Name>
</record>
</Student>
XSLT:
<xsl:key name="NameKey" match="Name" use="."/>
<xsl:template match="Student">
<table>
<tr>
<th>Name</th>
<td>
<select>
<xsl:for-each select="record">
<option>
<xsl:element name="Name">
<xsl:value-of select="Name[generate-id() = generate-id(key('NameKey',.)[1])]" />
</xsl:element>
</option>
</xsl:for-each>
</select>
</td>
</tr>
<xsl:apply-templates select="/record" />
</table>
</xsl:template>
</xsl:stylesheet>
我成功獲得唯一值列表,但名單還顯示爲空字符串列表中的非唯一值。所以我的名單有以下值:
Jack
John
Jill
James
有沒有什麼辦法擺脫列表中的那些空字符串值?
請向我們展示一個XML輸入示例,以便我們可以重現該問題。 - P.S.我沒有看到你正在收集**屬性**值; *屬性*這個詞在XML中具有非常精確的含義。 –
@ michael.hor257k我已更新我的問題。對不起,我錯了,我的意思是元素值 – user793468