問題

我本來會認為這對谷歌來說是一件容易的事情,但我一直沒有成功。

我想從屬性中分配值(簡單到目前為止),然後使用該變數根據該屬性的值選擇另一個節點.

例:

 <xsl:variable name="myId" select="@id" />
<xsl value-of select="//Root/Some/Other/Path/Where[@id='{@myId}']/@Name />
 

這不起作用.如果我用變數中的值替換{@myId},那麼它確實找到了正確的節點,但這樣做不會產生任何東西.我確信我錯過了一些東西,或者可能有一種不同的方法來做到這一點.

上下文是在不同的頂級節點下有相關資料共享相同的id值,所以我需要在模板中獲取相關節點.

  最佳答案

好的,我終於弄清楚了.愚蠢的問題真的,我只需要刪除引號和大括號.其中一次我以為我已經嘗試過這個. : d 哦,在第一個例子中我錯誤地@myId,程式碼實際上是$myId.

 <xsl:variable name="myId" select="@id" />
<xsl value-of select="//Root/Some/Other/Path/Where[@id=$myId]/@Name" />
 

  相同標籤的其他問題

xslt