我想将唯一的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