我有一個看起來像這樣的XML文件的內容找到一個節點:XSL:基於另一個節點
<container>
<bugs>
<bug id="b1">
<reporter>Tom</reporter>
...
</bug>
<bug id="b2">
<reporter>Jane</reporter>
...
</bug>
</bugs>
<users>
<user>
<userid>10</userid>
<username>Tom</username>
</user>
<user>
<userid>5</userid>
<username>Jane</username>
</user>
</users>
</container>
的endresult應該是:
<items>
<item>
<bugid>b1</bugid>
<author id="10">Tom</author>
</item>
<item>
<bugid>b2</bugid>
<author id="5">Jane</author>
</item>
</items>
問題:我不能爲id查找得到正確的比較。
我以爲這會是這樣:
<xsl:template match="bug">
....
<xsl:element name="author">
<xsl:attribute name="id">
<xsl:value-of select="//users/user[username=reporter]/userid"/>
</xsl:attribute>
</xsl:element>
....
</xsl:template>
但這返回一個空ID(ID = 「」)。
<xsl:value-of select="//users/user[username='Tom']/userid"/>
返回10個 和
<xsl:value-of select="reporter"/>
回報湯姆。
我看不出這裏有什麼問題。
我最初嘗試了類似的方法,但錯過了字符串(...)。謝謝。它現在有效。 AND ....事實上,我在部分中出現了一些用戶,它們出現在部分。所以他們沒有返回ID是有效的。 :-(但是,我只注意到,因爲其他人現在產生了正確的結果。 –
hepabolu
2012-03-11 11:13:23