一個位置(在XSL)的問題...是什麼?

我有這個strage問題,同時創造一個XSL的今天。 看著整個淨的答案,但couldnt找到任何.... 其實我猜! DINT我知道我的問題是什麼,所以我看的呢?

無論如何! 以防萬一你有這同樣的問題也莫名其妙的力量,你成功地降落在此頁的權力......你會感謝我萬噸......如果你不小心降落此頁面上的一些奇怪的命運和你剛好是一個XSL開發, 會盡此注意現在,未來的事業,如果有一天,你面對這個問題,那麼該部隊可能不會與你同在。

問題陳述:
我有這樣的XML,其中有兩個節點與多個項目中,這兩個節點之間的項目有一一對應。 在下面的例子中,每個在節點<array項目name="PLAYURL" />相關(相應的位置)節點<array的一個項目name="SITENAME"

<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>

現在,我有一個循環,我通過<array name="SITENAME">循環,我想以獲得在<array name="PLAYURL">相關項目(在相應的位置),

你會normaly嘗試做的是...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

對不起!! 這不會工作......啊!! Surpised ...

現在,你可能會想嘗試一下,像這樣...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

並再次慣常的工作......現在,你抓你的頭,試圖聯繫大家,你認為誰知道一些的XSL,可能是有幫助......你盡一切其他的選項,它仍然不會工作嘛! 那是什麼發生在我ATLEAST ...

回复DONT絕望!! 試試這個

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

不要問我為什麼工作。 因為我沒有權利的原因......如果你這樣做! 請不要刪除評論。 這可能是非常有用的。 還可以! 如果你有更好的這篇文章的標題,請給我一條線 :)


發表評論

NDK的家 | 表達它 表示唇齶裂 表示Penmenship 表示敬畏 表達自己