我正在使用xslt 1.0样式表来解析xml文件数据。
我在xslt中有一个变量,它包含许多由空格或新行字符分隔的字符串。
即。当我使用follwong打印它时,变量是“ServiceList”,
<xsl:value-of select="$ServiceList"/>
打印出来后
hgd.sdf.gsdf sdf.sdh.duyg dsf.sdf.suos
jhs.sdu.sdfi
hdf.sdi.seij dsf.dsf.diuh
edr.sdi.sdhg dfh.dfg.dfg.fdg.idjf kjs.dfh.dfgj djg.dfs.dgji
我使用了以下代码来分别获取每个字符串。
<xsl:variable name="tokenizedSample" select="str:tokenize($ServiceList,'
')"/>
<xsl:for-each select="$tokenizedSample">
<xsl:variable name="serviceProvide" select="."/>
<xsl:variable name="tokenized1" select="str:tokenize($serviceProvide,' ')"/>
<xsl:for-each select="$tokenized1">
<xsl:variable name="serviceP" select="."/>
<xsl:value-of select="$serviceP"/>
</xsl:for-each>
</xsl:for-each>
上面的代码将每个字符串作为单独的字符串。
我必须要知道上面的序列/数组中是否有重复的字符串。如果它重复它应该告诉我字符串是重复。
答案 0 :(得分:1)
这在XSLT 2.0中会更容易
<xsl:variable name="tokenizedSample" select="tokenize($ServiceList, '
')"/>
<xsl:if test="count($tokenizedSample) != count(distinct-values($tokenizedSample))">...