在打印两个变量$ cID和$ uID时,我同时打印了两个变量,并且可以看到它们包含的数据。
尝试比较两者时,即使打印出某些情况,结果也永远不会显示为真。
<xsl:for-each select="document('C:/Users/Scott/Desktop/Uni/dbe/ass1/DBE-work1/DBE-work1/DBE-A1/tweets.xml')">
<xsl:for-each select='tweets/tweet'>
<tweet>
<xsl:variable name="cID" select="user_id"/>
<xsl:value-of select='$uID'/>
<xsl:value-of select='$cID'/>
<xsl:if test="$cID=$uID">
<xsl:value-of select='$uID'/>
<xsl:value-of select='$cID'/>
</xsl:if>
</tweet>
</xsl:for-each>
</xsl:for-each>
当前输出为
<tweets>
<tweet>90484508
15985455
</tweet>
<tweet>90484508
90484508
</tweet>
<tweet>90484508
21157904
</tweet>
<tweet>90484508
90484508
</tweet>
<tweet>90484508
90484508
</tweet>
</tweets>
但是,当有两个匹配的ID时,在本例中为最后两个。它应该产生重复的结果。
答案 0 :(得分:0)
Tim C的结果正确。
uID已定义:
<xsl:variable name="uID" select="id"/>
,并且有一个空格,该空格由<xsl:if test="normalize-space($cID) = normalize-space($uID)">